>> 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