Brendan Eich (2015-01-03T00:53:18.000Z)
d at domenic.me (2015-01-12T17:52:04.607Z)
Caitlin Potter wrote: > 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" ```