Skip to main content

Why use let instead of var

· One min read
Lex
Front End Engineer @ Baoxiaohe

🆗,我相信大家都知道变量提升。like this👇

console.log(variate);let variate = 10;
Error

Uncaught ReferenceError: variate is not defined

console.log(variate); // undefinedvar variate = 10;

很好理解,因为var存在变量提升,上面的代码摇身一变:

var variate;console.log(variate); // undefinedvariate = 10;
可问题是,真实开发中谁会写这样的代码呢?因为先定义再使用变量符合正常的逻辑。仅仅为了少数可能的不正常脑回路的忍者代码似乎没必要单独加一个 let 语法。

所以,更值得探讨的是let块级作用域