暂时性死区

暂时性死区

只要块级作用域内 存在let命令,它所声明的变量就会“绑定”这个区域,不在手外部的影响。

如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成封闭作用域。

凡是在声明之前就使用这些变量,就会报错。 这就是暂时性死区

暂时性死区的场景

    var a=a; //不报错 因为var可以变量提升 ,在等号赋值的时候是从右往左//使用变量a,此时a是undefined,赋值的是undefined

   let a=a;//报错 赋值运算是从右往左,右边使用变量a结果发现a没有声明 ,而let语法规定不能再没定义之前使用变量,所以报错

 

posted @ 2019-07-07 19:21  web前端探索者  阅读(2477)  评论(0编辑  收藏  举报