let关键字

时间:2016-05-21 20:15:06

标签: javascript ecmascript-6 language-lawyer

let关键字中使用的unicode转义序列是否有效?

重申:以下代码是否有效?

l\u0065t a = 1;

它是否等同于此代码:

let a = 1;

1 个答案:

答案 0 :(得分:3)

ECMAScript允许在字符串文字,模板文字和正则表达式文字(迄今为止如此期望)和even in identifier namesmore details)中使用Unicode转义序列。但它不允许在raw source text 1 中使用它们,因此它们不能形成诸如关键字,其他标记和空格之类的内容。

(自ES5以来,这一点没有改变。你也不允许,并且继续被允许在var中使用转义序列。)

1:当然可以想象一个实现可以解释任何东西,包括转义字符,来派生源文本 2 ,但这可能是a)怪异而且b)在范围之外ECMAScript。考虑通过JSON.parseeval传递字符串 - 这样的字符串也可能包含l\u0065t
2:类似这样的实际例子(它实际上有意义)是<script>标签中的HTML实体。