>웹 프론트엔드 >JS 튜토리얼 >js 프로토타입은 무엇을 의미하나요?

js 프로토타입은 무엇을 의미하나요?

藏色散人
藏色散人원래의
2019-05-17 14:22:2815171검색

js 프로토타입은 무엇을 의미하나요?

프로토타입은 JavaScript에서 이해하기 어려운 개념입니다. 객체에는 "prototype" 속성이 있고, 함수 객체에는 "prototype" 속성이 있으며, 프로토타입 객체에는 "constructor" 속성이 있습니다.

프로토타입에 대한 첫 소개

JavaScript에서 프로토타입도 객체입니다. JavaScript 객체는 모두 "[[Prototype]]" 내부 속성을 포함합니다. 그것은 객체의 프로토타입이다.

"[[프로토타입]]"은 개체의 내부 속성이므로 직접 액세스할 수 없습니다. 따라서 객체의 프로토타입을 편리하게 보기 위해 Firefox와 Chrome에서는 비표준(모든 브라우저에서 지원되지는 않음) __proto__ 접근자를 제공합니다(ECMA에서는 표준 객체 프로토타입 접근자 "Object.getPrototype(object)"를 도입했습니다).

JavaScript에서 프로토타입 객체에는 프로토타입을 가리키는 모든 인스턴스를 생성하는 생성자에 해당하는 "constructor" 속성도 포함되어 있습니다.

JavaScript에서 각 함수에는 프로토타입 속성이 있습니다. 인스턴스를 생성하는 데 사용되면 이 함수의 프로토타입 속성 값이 모든 객체 인스턴스에 프로토타입으로 할당됩니다(즉, 인스턴스의 `__proto__` 속성이 설정됩니다). 즉, 모든 인스턴스의 프로토타입이 참조됩니다. 함수의 프로토타입 속성에 . (****`오직 함수 객체에만 이 속성이 있습니다!`****)

new 프로세스는

var p = new Person('张三',20);

1의 세 단계로 나뉩니다. var p={};

2. p._proto_=Person.prototype;, 객체 p의 __proto__ 속성을 Person.prototype

3으로 설정합니다. Person.call(p,"Zhang San",20); 생성자 Person을 호출하여 p를 초기화합니다. .

위 내용은 js 프로토타입은 무엇을 의미하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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