Mathias Bynens (2013-08-24T12:42:49.000Z)
On 24 Aug 2013, at 11:02, Mathias Bynens <mathias at qiwi.be> wrote:

> Wouldn’t this be confusing, though?
> 
>    global['\u{2F800}'] = 42; // would work (compatible with ES5 behavior)
>    global['\uD87E\uDC00'] = 42; // would work, too, since `'\uD87E\uDC00' == '\u{2F800}'` (compatible with ES5 behavior)
>    var \uD87E\uDC00 = 42; // would fail (compatible with ES5 behavior)
>    var \u{2F800} = 42; // would work (as per your comment; incompatible with ES5 behavior)
>    var 丽 = 42; // would work (as per your comment; incompatible with ES5 behavior)
> 
> Using astral symbols in identifiers would be backwards incompatible, even if the raw (unescaped) symbol is used. There’d be no way to use such an identifier in an ES5 environment. Is this a problem?

To clarify: consider what the Identifier Identification strawman[1] or any scripts that emulate similar behavior should do if Allen’s suggestion would be implemented:

    String.isIdentifierStart('\uD87E\uDC00'); // should be `false`
    String.isIdentifierStart('\u{2F800}'); // should be `true`
    // this is impossible, since `'\uD87E\uDC00' === '\u{2F800}'` and there is no way to distinguish these strings

[1] http://wiki.ecmascript.org/doku.php?id=strawman:identifier_identification
domenic at domenicdenicola.com (2013-08-29T19:39:29.987Z)
On 24 Aug 2013, at 11:02, Mathias Bynens <mathias at qiwi.be> wrote:

> Using astral symbols in identifiers would be backwards incompatible, even if the raw (unescaped) symbol is used. There’d be no way to use such an identifier in an ES5 environment. Is this a problem?

To clarify: consider what the [Identifier Identification strawman][1] or any scripts that emulate similar behavior should do if Allen’s suggestion would be implemented:

    String.isIdentifierStart('\uD87E\uDC00'); // should be `false`
    String.isIdentifierStart('\u{2F800}'); // should be `true`
    // this is impossible, since `'\uD87E\uDC00' === '\u{2F800}'` and there is no way to distinguish these strings

[1]: http://wiki.ecmascript.org/doku.php?id=strawman:identifier_identification