JavaScript의 각 객체에는 프로토 타입이 있습니다. 시도해보세요 :
코드 사본은 다음과 같습니다.
var Richard = new Object ();
경고 (Typeof (Richard.Prototype));
결과는 우울하고 브라우저에서 팝업되는 것은 정의되지 않았습니다 ...
무슨 일이야?
다른 예를 살펴 보겠습니다.
코드 사본은 다음과 같습니다.
함수 Richard () {}
경고 (Typeof (Richard.Prototype));
위의 예는 기능 객체 만 프로토 타입을 가지고 있고 일반 객체 객체에는 프로토 타입이 없음을 보여줍니다. 진실은 무엇입니까?
다른 문장을 구현하고 이해합시다.
코드 사본은 다음과 같습니다.
var Richard = new Object ();
경고 (Richard .__ proto__);
이해했나요?
실제로, 우리 모두는 오해가 있습니다. 즉 JavaScript 객체의 프로토 타입 체인은 프로토 타입이라는 속성이며 액세스 할 수 있습니다. 실제로 JavaScript의 프로토 타입과 프로토 타입이라는 속성은 처음에는 전혀 관계가 없으며 두 가지 다른 것입니다.
일반 객체의 경우 __proto__와 같은 속성을 통해 개체 객체에서 상속 된 프로토 타입에만 액세스 할 수 있습니다.
함수 객체의 경우, 기능 객체의 프로토 타입이 프로토 타입 속성에 할당되었습니다.