var f=function();
var instance=new f();
당신이 instance
클래스 기능의 이름, 당신은 단순히 프로토 타입에 액세스 할 수 있습니다 알고있는 경우 : 모르는 경우
var prototype=f.prototype;
prototype.someMember=someValue;
:
1)
var prototype=Object.getPrototypeOf(instance);
prototype.someMember=someValue;
을
2) 또는
var prototype=instance.__proto__;
prototype.someMember=someValue;
3) 또는) 프로토 타입을 반환하는 다음 코드에 배치 (항상 Object.getPrototypeOf(instance)
를 사용할 수있는 호환성을 위해
var prototype=instance.constructor.prototype; // works only if constructor is properly assigned and not modified
prototype.someMember=someValue;
:
if(!Object.getPrototypeOf) {
if(({}).__proto__===Object.prototype&&([]).__proto__===Array.prototype) {
Object.getPrototypeOf=function getPrototypeOf(object) {
return object.__proto__;
};
} else {
Object.getPrototypeOf=function getPrototypeOf(object) {
// May break if the constructor has been changed or removed
return object.constructor?object.constructor.prototype:void 0;
};
}
}
UPDATE :
ECMA-262 6th Edition (2015 년 6 월) __proto__
속성은 웹 브라우저의 추가 기능으로 표준화되었습니다. 최신 브라우저의 모든 최신 버전에서 지원됩니다. 자세히보기 __proto__
에 대한 :
MDN : Object.prototype.__proto__
EDMA-262 6 판 (6 월 2015 년) : B.2.2.1 Object.prototype.__proto__
object1.constructor.prototype –