ES6_1.块级作用域绑定_临时死区TDZ

临时死区

JavaScript引擎在扫描代码发现变量声明时,要么将它们提升至作用域顶部(var声明),要么将声明放到TDZ中(let、const)。访问TDZ中的变量会触发运行时错误。只有执行过变量声明语句后,变量才会从TDZ中移除,然后正常访问。即便是相对不易出错的typeof操作符也是无法阻挡引擎抛出错误。但在声明的作用域外对该变量使用typeof则不会报错,

console.log(typeof value); //undefined
if(condition){
	let value ='blue';
}

typeof在声明的块作用域外执行,此时value并不在TDZ中。也就意味着不存在value这个绑定,最终返回undefined。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值