2016-08-09 2 views
5

proto과 같이 두 개의 밑줄로 시작/끝나는 js의 일부 속성이 있습니다. 하지만 constructor.prototype과 똑같은 거 알아, 그렇지? ES5/ES6 표준에 이러한 xxx_ 속성 이름이 포함되어 있는지 여부 또는 구현에만 적용되는 키워드인지 여부를 알고 싶습니다. 다른 구현에서는 동작이 다를 수 있습니다."__proto__"과 같은 javascript 속성 이름이 ES5/6에서 표준화되지 않았습니까?

플러스 : 키워드가 ES 표준, 권장 웹 사이트의 일부인지 어디에서 확인할 수 있습니까?

감사합니다.

+2

'프로토 타입'과 동일하지 않습니다. '__proto__'는 객체 프로토 타입에 대한 참조를 포함합니다. 'prototype'은이 생성자가 생성 한 인스턴스의 프로토 타입이 될 객체를 포함합니다. 생성자 자체는 다른 프로토 타입을 가지고 있습니다 (생성자의'__proto__'를 확인할 수 있습니다) – Maxx

답변

4

저는 constructor.prototype과 같습니다. 맞습니까?

No.

ES5/ES6 표준에 이러한 __xxx__ 속성 이름이 포함되어 있는지 또는 구현 관련 키워드인지 여부를 알고 싶습니다. 구현마다 다른 동작이있을 수 있습니까?

당신은 MDN documentation에 대한 개요를 찾을 수 있습니다

, 거기에 __count__, __noSuchMethod__, __parent__, __proto__, __defineGetter__, __defineSetter__, __lookupGetter____lookupSetter__; 및 모두는 사용되지 않습니다. 게코 (Gecko) 이외의 다른 구현은 더 많은 기능을 가지고 있습니다.

구현 중에 getter/setter 메소드와 __proto__ 만 공통적이었고 __proto__ got into the compatibilty section of the ES6 standard 만있었습니다.

키워드가 ES 표준, 권장되는 웹 사이트의 일부인지 어디에서 확인할 수 있습니까?

그냥 읽어 the standards themselves!

관련 문제