Javascript:执行var并让变量在`execution context`中执行的区别?

时间:2019-02-16 19:33:44

标签: javascript ecmascript-6 v8

我最近注意到以下代码有效

var x = 10;
var x = 20;

在下面的另一面抛出错误,以重新声明相同的变量

let x = 10;
let x = 20;

下面的链接通过将functional scopeblock scope作为参考来提供见解。

Why does var allow duplicate declaration but why does const and let not allow duplicate declaration?

var声明在execution context中执行,在variableObject中创建一个条目,并且在重复的情况下,重新声明一次又一次指向同一条目/变量。

let情况下有何不同?

它还在execution context中执行吗?

一些很好的链接或详细的解释将不胜感激。

0 个答案:

没有答案