JavaScript 상속: 생성자 속성 이해
질문:
코드를 고려하세요.
왜요? 프로토타입을 a에서 상속하도록 설정했음에도 불구하고 b와 c에 대해 생성자 속성이 업데이트되지 않습니까?
답변:
이를 이해하기 위해 개념적인 작업을 시작하겠습니다. 여행:
이제 질문이 생깁니다. 왜 인스턴스 객체 자체에 생성자 속성이 정의되지 않습니까? 다음 예를 고려하십시오.
이 예에서 생성자 속성은 다른 것과 마찬가지로 프로토타입의 메서드입니다. 그러나 특히 프로토타입의 인스턴스를 초기화하는 데 사용됩니다.
프로토타입에서 생성자 속성을 정의하면 여러 가지 이점이 있습니다.
상속과 생성자 속성
상속의 경우 파생 생성자의 프로토타입 속성이 기본 생성자의 인스턴스로 설정됩니다. . 결과적으로 파생 생성자 인스턴스의 내부 [[proto]] 속성도 기본 생성자의 프로토타입을 가리킵니다. 이로 인해 파생 생성자 인스턴스의 생성자 속성이 기본 생성자를 가리키게 됩니다.
instanceof 연산자
instanceof 연산자는 인스턴스 객체와 생성자 함수에서 작동합니다. 일반적인 믿음과는 달리 인스턴스의 생성자 속성에 의존하지 않습니다. 대신, 인스턴스의 프로토타입 체인을 순회하여 내부 [[proto]] 속성이 생성자의 프로토타입 속성과 일치하는지 확인합니다. 일치 항목은 true를 반환하고 프로토타입 체인의 끝은 false를 반환합니다.
위 내용은 프로토타입 상속 중에 JavaScript의 `생성자` 속성이 업데이트되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!