Jan 29 TC39 Meeting Notes

David Bruant bruant.d at gmail.com
Fri Feb 8 07:00:34 PST 2013


Le 07/02/2013 18:42, Andreas Rossberg a écrit :
> On 7 February 2013 18:36, David Bruant <bruant.d at gmail.com> wrote:
>> I hardly understand the benefit of an inconditionally-throwing setter over a
>> __proto__ as data property, but I'm fine with either.
> Well, it _is_ a setter, and even one that modifies its receiver, not
> its holder. What would be the benefit of pretending it's not?
It _is_ an abomination (arguably, it even __is__ an abomination). Any 
resemblance to real ECMAScript construct, living or dead (?), is purely 
coincidental.

 From the notes, a quote from Allen is "involves magic". I don't think I 
will surprise anyone if I say that whatever is decided for __proto__, 
there will be magic involved.

An idea that I don't think has been suggested is to stop pretending 
__proto__ is something else than magic:
$> Object.getOwnPropertyDescriptor(Object.prototype, '__proto__');
{
     magic: true,
     enumerable: false,
     configurable: true
}

Quite exotic but very clear. At will, replace "magic" with 
"abomination", "de facto standard", "wildcard", "don't use __proto__" or 
"Why did you call Object.getOwnPropertyDescriptor on __proto__ anyway?". 
Other better suggestions are welcome, obviously.
Admittedly, the last idea may be a bit long, but that's a string, so 
that can be an property name. I wouldn't rule it out too quickly ;-)

David


More information about the es-discuss mailing list