Brendan Eich (2014-09-11T21:59:32.000Z)
Claude Pache wrote:
> Recently, `String(symbol)` has been modified in order to not throw, on the ground that it is an explicit conversion, and a safer one than `.toString()`. [1]

And to cite the hazard, because obj[name +''] where name is a non-symbol 
must continue to work as it has, but if extant code like this suddenly 
is passed a symbol for name, we want a throw rather than an unintended 
property alias.

> What about symbols in untagged templates?
>
>      function foo(num, sym) {
>          if (__debugMode)
>              window.alert( `Got arguments: ${num} and ${sym}`)
>          // ...
>      }

Doesn't seem to have the property alias hazard. Seems explicit enough of 
a gesture to me to allow. My two cents, but only two (in a hurry, may be 
missing something).

/be
domenic at domenicdenicola.com (2014-09-17T22:21:19.921Z)
Claude Pache wrote:
> Recently, `String(symbol)` has been modified in order to not throw, on the ground that it is an explicit conversion, and a safer one than `.toString()`. [1]

And to cite the hazard, because `obj[name +'']` where name is a non-symbol 
must continue to work as it has, but if extant code like this suddenly 
is passed a symbol for name, we want a throw rather than an unintended 
property alias.

> What about symbols in untagged templates?
>
>      function foo(num, sym) {
>          if (__debugMode)
>              window.alert( `Got arguments: ${num} and ${sym}`)
>          // ...
>      }

Doesn't seem to have the property alias hazard. Seems explicit enough of 
a gesture to me to allow. My two cents, but only two (in a hurry, may be 
missing something).