let关键字有三种特性。
块级作用域、不存在变量提升、暂时性死区。
1、块级作用域
如图:
es5只有全局作用域和函数局部作用域。
块级作用域的存在使得变量更加安全,避免覆盖全局变量。
2、不存在变量提升
var 关键字声明的变量会被提升到头部且挂载到window对象下作为键名。
也就是说在var关键字声明变量前调用变量不会报引用错误,而是undefined。
var声明的变量挂载到window上,是js语言设计上的缺陷。
3、暂时性死区
let 声明的变量会被绑定在该块级作用域内。
块级作用域头部到let声明之前这块区域被称为暂时性死区,在这块区域内使用未声明的变量会报错。
es6中对let的理解
最新推荐文章于 2023-08-16 20:39:03 发布