javascript - Javascript中的\u0061,\x61和\141有什么区别-LMLPHP

为什么第一个表达式可以无错误地执行,而第二个和第三个表达式却不能执行?

最佳答案

规范允许它:


  IdentifierName中允许使用Unicode转义序列,在该序列中,它们向IdentifierName贡献单个Unicode代码点。该代码点由UnicodeEscapeSequence的CodePoint表示(请参见11.8.4)。 UnicodeEscapeSequence之前的\以及u{ }代码单元(如果出现)不会为IdentifierName提供代码点。 […]
  
  https://tc39.github.io/ecma262/#sec-names-and-keywords


换句话说,可以使用\u....转义序列代替标识符的文字字符(例如console)。对于其他种类的转义序列(例如\x..),未提供相同的余量。

07-24 20:31