2016-03-20 8 views

Antwort

3

__proto__ ist keine eigene Eigenschaft. Es ist eine Eigenschaft von Object.prototype, bei der es sich um einen Getter oder Setter handelt, der intern implementiert wird, um den Prototyp des Objekts abzurufen und festzulegen ([[Prototype]]).

< Object.getOwnPropertyDescriptor(Object.prototype, '__proto__') 
> Object {enumerable: false, configurable: true, get: function..., set: function...} 
0

Die __proto__ ist eine erbliche Eigenschaft von Objekt prototype:

Object.getOwnPropertyNames({}) // prints "[]", no properties 
'__proto__' in {}    // prints "true", it's inherited from prototype 

Sie können die __proto__ Descriptor aus dem prototype direkt erhalten:

Object.getOwnPropertyDescriptor(Object.getPrototypeOf({}), '__proto__'); 
// prints {enumerable: false, ... } 
Verwandte Themen