- 博客(1)
- 收藏
- 关注
原创 TDZ是什么
上面代码中,变量x使用let命令声明,所以在声明之前,都属于x的“死区”,只要用到该变量就会报错。ES6 规定暂时性死区和let、const语句不出现变量提升,主要是为了减少运行时错误,防止在变量声明前就使用这个变量,从而导致意料之外的行为。这里存在一个作用域链的问题,在函数的作用域里面找不到a的声明的时候就会到外面去找,因为函数内部没有使用let使其成为一个封闭的作用域。只要一进入当前作用域,所要使用的变量就已经存在了,但是不可获取,只有等到声明变量的那一行代码出现,才可以获取和使用该变量。
2023-05-01 21:05:50
1051
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人