JavaScript 함수 호출에서 명명된 매개변수 시뮬레이션
C#과 같은 프로그래밍 언어에서 명명된 매개변수를 사용하면 매개변수 이름을 지정하여 명확하고 간결한 함수 호출이 가능합니다. 그들의 가치와 함께. 그러나 JavaScript는 본질적으로 이 기능을 제공하지 않습니다. 그러나 비슷한 효과를 얻을 수 있는 방법이 있습니다.
ES2015 이상: 매개변수 구조화
ES2015가 도입되면서 매개변수 구조분해는 다음을 수행하는 내장 메커니즘을 제공합니다. 명명된 매개변수를 시뮬레이션합니다. 이 기능을 사용하면 함수는 객체를 인수로 받아들이고 특정 속성을 명명된 매개변수로 추출할 수 있습니다.
function myFunction({ param1, param2 } = {}) { // ...function body... }
그런 다음 호출자는 원하는 매개변수 값을 사용하여 객체를 전달할 수 있습니다.
myFunction({ param1: 70, param2: 175 });
ES5: Function.prototype.toString 및 객체 연관
ES5에서는 hackish 메서드 Function.prototype.toString()을 사용하여 함수 서명을 구문 분석하고 매개변수 이름을 식별하는 작업이 포함됩니다. 이를 통해 객체의 속성을 해당 매개변수와 연결할 수 있습니다.
var func = parameterfy(function(a, b, c) { console.log('a is ' + a, ' | b is ' + b, ' | c is ' + c); }); func(1, 2, 3); // a is 1 | b is 2 | c is 3 func(1, {b:2, c:3}); // a is 1 | b is 2 | c is 3
그러나 이 접근 방식에는 단점이 있습니다.
추가 고려 사항
함수 래퍼를 만드는 대신 함수와 추가 인수를 허용하거나 함수를 확장하는 함수를 가질 수도 있습니다. 명명된 매개변수를 사용하여 함수 실행을 지원하는 프로토타입.
위 내용은 JavaScript 함수 호출에서 명명된 매개변수를 어떻게 시뮬레이션할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!