>  기사  >  웹 프론트엔드  >  Javascript 객체의 프로토타입_javascript 기술 정보

Javascript 객체의 프로토타입_javascript 기술 정보

WBOY
WBOY원래의
2016-05-16 16:49:021005검색

Javascript의 모든 객체에는 프로토타입이 있습니다. 시도해 보세요:

코드 복사 코드는 다음과 같습니다.

var Richard = new Object( );
alert(typeof(Richard.prototype));

결과가 실망스럽고 브라우저가 정의되지 않은 팝업으로 나타납니다.

무슨 일이 일어나고 있나요?

다른 예 보기:
코드 복사 코드는 다음과 같습니다.

function Richard(){}
alert(typeof(Richard.prototype));

위의 예는 함수 객체에만 프로토타입이 있고 일반 객체 객체에는 프로토타입이 없다는 것을 보여주는 것 같습니다. 프로토타입이 있나요? 사실은 무엇인가요?

다른 문장을 실행해보면 이해가 됩니다.
코드를 복사하세요 코드는 다음과 같습니다.

var Richard = new Object();
alert(Richard.__proto__)

이해하셨나요?

사실 우리 모두는 오해를 하고 있는데, 즉 자바스크립트 객체의 프로토타입 체인을 구성하는 프로토타입은 프로토타입이라는 속성이고, 접근이 가능하다는 것입니다. 사실 자바스크립트의 프로토타입과 프로토타입이라는 속성은 처음에는 전혀 관련이 없습니다.

일반 객체의 경우 __proto__와 같은 속성을 통해서만 Object 객체에서 상속된 프로토타입에 액세스할 수 있습니다.

함수 객체의 경우 생성 시 함수의 프로토타입입니다. 객체는 프로토타입 속성에 할당됩니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.