new 키워드로 생성자 함수를 호출할 때 일반적으로 해당 함수는 새로 생성된 값을 반환한다고 가정합니다. 물체. 그러나 특정 상황에서는 this가 아닌 값이 대신 반환될 수 있습니다.
JavaScript에서 이 동작을 제어하는 정확한 조건은 함수 객체에 대한 ECMAScript 사양의 내부 [[Construct]] 속성에 정의되어 있습니다. 이 속성이 호출되면 다음 단계를 수행합니다.
따라서 생성자 함수에서 반환된 값에 따라 새로 생성된 객체가 반환되는지 여부가 결정됩니다.
새로 생성된 개체가 있는지 테스트하려면 생성자가 반환한 것과 정말 다르다면 다음과 같이 확인할 수 있습니다: (new Foo() instanceof Foo) === false.
위 내용은 생성자 함수가 때때로 이 값이 아닌 값을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!