首页 > 解决方案 > Javascript:在“执行上下文”中执行重复变量和让变量的区别?

问题描述

我最近注意到下面的代码有效

var x = 10;
var x = 20;

在下面的另一侧,重新声明相同变量会引发错误

let x = 10;
let x = 20;

下面的链接通过保留functional scopevsblock scope作为参考来提供见解。

为什么 var 允许重复声明,但为什么 const 和 let 不允许重复声明?

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

在这种情况下有什么不同let

不是还在执行execution context吗?

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

标签: javascriptecmascript-6v8

解决方案


推荐阅读