我正在尝试不明智的变量声明,并得出以下观察结果。
定义一个名为 的变量'let'
,如下所示:
let let = 7;
不出所料,会导致错误:SyntaxError: let is disallowed as a lexically bound name
。
尝试对变量 name 执行相同的操作'const'
,如下所示:
let const = 7;
导致不同的错误: SyntaxError: Unexpected token 'const'
。
查看规范,第13.3.1.1 节静态语义:早期错误不允许'let'
在这种类型的声明中作为变量名(没有提及'const'
)。
这更像是一种好奇,但是幕后发生了什么,这只会被视为'let'
不允许的变量名,同时被'const'
解释为令牌?
(顺便说一下,var let = 7
JavaScript 在语法上似乎是正确的,同时var const = 7
也会导致错误SyntaxError: Unexpected token 'const'
。)
互换的青春
相关分类