Rick Waldron (2015-01-02T23:26:35.000Z)
Kyle Simpson brought this up on Twitter today and I think it deserves one
last look. Here's an example of the issue:

  var sym = Symbol("description");
  sym + ""; // Throws

Meanwhile...

  var sym = Symbol("description");
  String(sym); // "Symbol(description)" *


(* appears to be the convention that implementors have converged on)

This is the only time that a "thing" in JavaScript throws when it
encounters an implicit coercion operation. This detail appears to be
problematic in that it's an unnecessary divergence from the language's
normal behaviour.

Ref:
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-addition-operator-plus-runtime-semantics-evaluation
11.a


Rick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20150102/168dd067/attachment.html>
d at domenic.me (2015-01-12T17:51:50.183Z)
Kyle Simpson brought this up on Twitter today and I think it deserves one
last look. Here's an example of the issue:

```js
var sym = Symbol("description");
sym + ""; // Throws
```

Meanwhile...

```js
var sym = Symbol("description");
String(sym); // "Symbol(description)" *
```

(* appears to be the convention that implementors have converged on)

This is the only time that a "thing" in JavaScript throws when it
encounters an implicit coercion operation. This detail appears to be
problematic in that it's an unnecessary divergence from the language's
normal behaviour.

Ref:
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-addition-operator-plus-runtime-semantics-evaluation
11.a