为什么第一个表达式可以无错误地执行,而第二个和第三个表达式却不能执行?
最佳答案
规范允许它:
IdentifierName中允许使用Unicode转义序列,在该序列中,它们向IdentifierName贡献单个Unicode代码点。该代码点由UnicodeEscapeSequence的CodePoint表示(请参见11.8.4)。 UnicodeEscapeSequence之前的\
以及u
和{ }
代码单元(如果出现)不会为IdentifierName提供代码点。 […]
https://tc39.github.io/ecma262/#sec-names-and-keywords
换句话说,可以使用\u....
转义序列代替标识符的文字字符(例如console
)。对于其他种类的转义序列(例如\x..
),未提供相同的余量。