JavaScript의 생성자 반환 값 이해
JavaScript에서 생성자는 new 키워드를 사용하여 호출되어 새 객체를 생성합니다. 생성자는 일반적으로 이것을 반환하지만 특정 조건에서는 다른 값이 반환될 수 있습니다.
이 값이 아닌 값을 반환하는 상황
동작은 내부 [ [Construct]] new 연산자가 사용하는 속성입니다. ECMA-262 3판 사양에 따르면:
7단계: 생성자 함수(Result(6))에서 반환된 값의 유형이 아님인 경우 객체인 경우 Result(6)를 반환합니다.
8단계: 그렇지 않으면 Result(1)를 반환합니다(새 object).
예:
다음 생성자를 고려하세요.
function Foo() { return 1; }
new로 호출하면 다음 단계가 발생합니다.
따라서 Foo가 객체가 아닌 숫자를 반환했기 때문에 (new Foo() instanceof Foo) === false입니다.
결론:
생성자가 객체가 아닌 값(예: 기본 값, null, 정의되지 않음)을 반환하는 경우 이는 반환되지 않으며 대신 생성자 함수의 반환값이 반환됩니다.
위 내용은 JavaScript 생성자가 객체가 아닌 값을 반환하면 어떻게 되나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!