- var类型会出现变量提升,所以不会存在暂时性死区的问题
- let和const类型不存在变量提升,则会出现暂时性死区的问题(当前模块先使用后声明变量的情况)
if (true) {
console.log(typeof value) // "发生错误"
let value = "张三"
}
注意:暂时性死区问题只针对当前模块,如下例子则不会存在暂时性死区的问题
console.log(typeof value) // "undefined"
if (true) {
let value = "张三"
}