Claude Pache wrote:
>/  Personally, I use the following expression in order to coerce a variable to 
a string:
/>/
/>/          var obj = this + ''
/>/
/>/  and its in-place variant:
/>/
/>/          x += ''
/>/
/>/  I think it'll continue to work in ES6.
/
Agreed, this is the correct-and-most-concise way to do it. It should
throw on symbols, that's important.

Having String(sym) not throw is a win for other reasons Arv identified,
but using String(any) to invoke ToString is verbose and fragile, because
String could be rebound :-P. Use +'' if you want ToString in the
language, I say.

/be

If `x` is an object, x + '' performs ToString(ToPrimitive(x, <no hint>)), whereas String(x) performs ToString(ToPrimitive(x, hint String)). So both expressions are not always interchangeable.


- André
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to