ES6新增了 let const
命令,用来声明变量。它的用法类似于 var
,但是所声明的变量,只在 let const
命令所在的代码块内有效。
var const 不允许重复声明
用处:
可能上一个例子在解释块级作用域封闭空间这一块有点模糊,那么下一个例子会很清晰的阐述这一理念。。。
循环当中 i 的变化:
如果要解决这个问题让它分别弹出0 、1、2 的话 我们在es5 是这样处理的:
es6 是这样处理的:
分别弹出0、1、2。
总结: 块级作用域,其实就是 匿名函数立即调用。 其实块级作用域这一块有很多小特性比如:暂时性死区、不存在变量提升、可以是全局对象但和window无关等。我后续会继续将我的学习路程进行一个分享,如有不对还望指正。