possible excessive proxy invariants for Object.keys/etc??

Allen Wirfs-Brock allen at wirfs-brock.com
Wed Nov 21 12:44:48 PST 2012


On Nov 21, 2012, at 11:13 AM, David Bruant wrote:

> Le 21/11/2012 17:37, Allen Wirfs-Brock a écrit :
>> 
>> On Nov 21, 2012, at 1:55 AM, David Bruant wrote:
>> 
>>> Le 21/11/2012 01:06, Allen Wirfs-Brock a écrit :
>>>>>>> b) that all the elements of the result are Strings
>>>>>> 
>>>>>> And presumably Symbols.  We have to also accommodate Symbols, at least for getOwnPropetyNames.  Regardless, why is this important?  More below...
>>>>>> 
>>>>>> Same argument as above.
>>>>>> 
>>>>>> I recall there was some concern about symbols showing up in existing reflection methods like Object.getOwnPropertyNames. Not sure how that got resolved. It's basically touching upon the same issue of whether we can change the return type of existing methods.
>>>> 
>>>> I'm assuming we are excluding symbols from [[Enumerate]] and [[Keys]]
>>> Why so? I would assume unique symbols to show up for these.
>> 
>> I believe that the POR is that Symbol keys are never enumerated (even if associated with a the property attribute that has [[Enumerable]]: true).  I suppose a proxy could violate that invariant (I wouldn't want to actively enforce it) but would be a buggy proxy.
> What does "POR" mean?
> 

Plan of Record

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20121121/24919631/attachment.html>


More information about the es-discuss mailing list