.apply() 메서드를 new 연산자와 함께 사용할 수 있나요?
JavaScript에서는 일반적으로 new 연산자를 사용하여 객체 인스턴스를 생성합니다. 생성자에 인수를 명시적으로 전달하는 작업이 포함됩니다. 그러나 대신 가변 개수의 인수를 전달하는 것이 바람직할 수 있습니다. 이 질문은 이러한 유연성을 달성하기 위해 new 연산자와 함께 .apply() 메서드를 활용할 수 있는 가능성을 탐구합니다.
도전
처음에는 다음 코드:
그러나 new 연산자가 .apply()와 호환되지 않기 때문에 이 접근 방식은 작동하지 않습니다.
솔루션
이러한 한계를 극복하기 위해 다양한 솔루션이 제안되었습니다.
1. Matthew Crumley의 방법
이 솔루션은 대상 생성자에서 상속되는 중개 기능을 사용합니다:
2. Function.prototype.bind
ECMAScript5에서는 함수를 부분적으로 적용할 수 있는 Function.prototype.bind 메서드를 도입했습니다.
이는 다음과 같이 사용할 수 있습니다.
사용의 장점 Function.prototype.bind
이 접근 방식에는 여러 가지 장점이 있습니다.
설명
Function.prototype.bind는 원래 함수의 속성을 상속하는 새 함수를 생성합니다. 원하는 인수로 생성자 함수를 부분적으로 적용하면 new 키워드를 사용하여 인스턴스를 생성할 수 있습니다.
위 내용은 JavaScript의 `new` 연산자가 `.apply()` 메서드와 함께 작동할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!