Node.js 매개변수 객체는 선택적 매개변수와 매개변수 기본값을 구현합니다.

高洛峰
풀어 주다: 2016-11-22 11:24:10
원래의
1122명이 탐색했습니다.

JS 매개변수 객체는 선택적 매개변수와 매개변수 기본값을 구현합니다

매개변수 생략의 전제는 함수가 전달하려는 매개변수를 식별할 수 있다는 것입니다. 동의
1. 생략된 매개변수 설정 후
2. 매개변수를 생략해도 다른 기능과 모호성이 발생하지 않습니다. (js에는 이런 문제가 없습니다.)

프로그램에서는 정의된 순서대로 매개변수를 전달해야 합니다. 추후 전달되지 않은 내용이 있으면 생략하겠습니다. 중간을 생략하고 싶다면... 죄송합니다. 직접 null 또는 정의되지 않은 값을 전달하세요.

자바스크립트의 경우 간단한 판단으로 매개변수 유형을 식별하여 중간 매개변수를 생략하는 등의 효과를 얻을 수 있습니다.

    var set = function(name, date, age) {
    if (typeof date === "number") {
        age = date;
        date = undefined;
    }
    // ....
}
로그인 후 복사

여기에서는 간단히 유형별로 식별합니다. 더 복잡한 상황에서는 정규식을 사용하여 도메인, URL, 이메일 등을 식별할 수 있지만 말하기가 더 번거롭고 코드 논리가 복잡하고 작성하기가 쉽지 않습니다.

매개변수가 많고 일부 생략이 가능한 경우에는 매개변수 객체를 사용하는 것이 좋습니다.

ES5는 선택적 매개변수 객체를 구현합니다

    var CookieUtil = {
    set: function(args) {
        var name = args.name;
        var value = args.value;
        var expires = args.expires;
        var path = args.path;
        var domain = args.domain;
        var secure = args.secure;

        // ...
    }
}

    CookieUtil.set({
        name: "name",
        value: "Nicholas",
        path: "/books/projs/",
        domain: "www.wrox.com",
        expires: new Date("January 1, 2010")
    });
로그인 후 복사

ES6은 선택적 매개변수 객체를 구현합니다 - 구문 설탕 구조 분해 할당

    function doSome({a,b=2,c}){
    console.log(a,b,c)
    }
    doSome({a:5,c:22})
    // 5 2 22
로그인 후 복사


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!