New ES6 draft now available

David Bruant bruant.d at
Sat Nov 24 08:43:41 PST 2012

Le 24/11/2012 14:58, Axel Rauschmayer a écrit :
>>> • MOP changes: Added [[GetInheritance]]/[[SetInheritance]] as 
>>> internal methods for accessing [[Prototype]] internal prototype chain.
>> Why not [[GetPrototype]] and [[SetPrototype]]? We have a absurd 
>> number of excellent resources (including but not limited to Dmitry 
>> Soshnikov and Axel Rauschmayer's websites/blogs) which use 
>> extensively the ES5 internal [[Prototype]]. It's also been very hard 
>> to get people to understand the difference between .prototype and 
>> [[Prototype]]. I'm afraid a new change would create a lot of confusion.
> Currently, we have the following inheritance-related terms:
> 1. [[Prototype]]
> 2. [[GetInheritance]], [[SetInheritance]]
> 3. __proto__
> 4. Object.getPrototypeOf()
The fact that Object.getPrototypeOf retrieves the [[Prototype]] (ES5) or 
delegates to [[GetPrototype]] (ES6?) makes sense. I find delegating to 
[[GetInheritance]] more debatable.

> 5. C.prototype
> 1-4 are closely related, 5 refers to a different concept. I still 
> welcome any measure to make this terminology easier to understand and 
> talk about, but I realize that that might not be possible.
As far as ES6 is concerned, it's likely that the 5 form will disappear 
because classes will cover most of the basic needs. .prototype will 
become useful only for people who know what they're doing.
But ES6 in production is far down the road...

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list