>> One reason it might make sense to throw, is people converting values to 
>> string names for use as object properties. Reason you'd want to throw would 
>> be to prevent accidentally making the key useless (different from its 
>> original Symbol value).
> 
> This is exactly the reason.
> 
> Of course, having String(x) and '' + x diverge is funky, but not novel:
> 
> js> o = {valueOf(){return 42}, toString(){return 'haha'}}
> ({valueOf:function valueOf(){return 42}, toString:function toString(){return 
> 'haha'}})
> js> String(o)
> "haha"
> js> ''+o
> "42"


Playing devil’s advocate: How realistic a danger is this? Do people ever 
compose a property key for an object out of several pieces?

It does add a fair amount of complexity for something that doesn’t seem that 
common.

-- 
Dr. Axel Rauschmayer
a...@rauschma.de
rauschma.de



_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to