On 25 Aug 2013, at 04:17, Norbert Lindenberg 
<[email protected]> wrote:

> I don't think that's a technical problem. String.isIdentifier{Start,Part}, as 
> I proposed them, don't deal with actual identifiers in source text; they 
> check individual identifier characters.
> 
> The functions are intended to be called by a parser, and it's up to the 
> parser to deal with escaping rules, throwing exceptions or unescaping as 
> specified before passing code points to String.isIdentifier{Start,Part}. 
> Calling the functions with string literals doesn't seem like a useful use 
> case.

Ah, I see. Step 1 of the proposed algorithm in 
http://wiki.ecmascript.org/doku.php?id=strawman:identifier_identification would 
convert the string to a single code point. Thanks for clarifying!

I would suggest adding something like `String.isIdentifier` which accepts a 
multi-symbol string or an array of code points to the strawman. Seems useful to 
be able to do `String.isIdentifier('foobar')`

> I do think it's a problem in learning and understanding the language. Having 
> different rules for \uD87E\uDC00 in string literals and identifiers, and 
> therefore also for identifiers embedded in strings passed to eval(), adds yet 
> another of those random inconsistencies that already litter ECMAScript, and 
> ensures a "wat" moment for everybody who comes across them.

Agreed.

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

Reply via email to