Claude Pache (2014-02-11T14:40:56.000Z)
domenic at domenicdenicola.com (2014-02-18T04:30:14.936Z)
[According to the current version of the ES6 spec][1], `Symbol(desc)`, when `desc` is not `undefined`, coerces its argument to a string and uses it as a description for a newly created symbol. In particular, if `sym` is a symbol, `Symbol(sym)` throws a TypeError (it can't be coerced to string). Intuitively, I would expect that `Symbol(sym)` just returns `sym`, just like `Number(num)` returns `num`, or, more generally, just like `Primitive(x)` casts its argument to the corresponding primitive. What do you think? [1]: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-symbol-description