생성자가 'this' 이외의 값을 반환하는 인스턴스
JavaScript에서 new 키워드를 사용하여 생성자를 호출하면 일반적으로 다음을 반환합니다. 새로 생성된 개체입니다. 그러나 특정 상황에서는 이를 피하기 위해 다른 값을 반환할 수 있습니다.
다른 값 반환 조건
ECMA-262 3rd Edition 사양에 설명된 대로 [[Construct]] 내부 속성(7단계), 생성자의 반환 값(Result(6))에 따라 반환 여부가 결정됩니다. Result(6)가 객체 유형이 아닌 경우 이 대신 반환됩니다. 이 조건은 생성자의 올바른 실행에 매우 중요합니다.
예
다음 생성자를 고려하세요.
function Foo() { return 10; // Returning a non-object primitive } var foo = new Foo();
이 예에서는 10은 객체가 아닌 기본 요소이므로 Foo() 생성자의 결과로 반환됩니다. 따라서 foo에는 기본 값 10이 할당되고 foo는 기본 유형이므로 (new Foo() Foo 인스턴스)는 false로 평가됩니다.
요약
요약하자면, 생성자의 반환 값(Result(6))이 Object 유형이 아닌 경우에만 생성자는 이 이외의 값을 반환할 수 있습니다. 이 조건을 사용하면 객체가 아닌 값으로 객체를 생성하거나 다른 생성자에게 제어권을 전달할 수 있습니다.
위 내용은 JavaScript 생성자가 'this'가 아닌 다른 것을 반환할 수 있는 경우는 언제입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!