老师,不是说let声明的不会提升么?在函数内部先输出a,此时应该还不知道内部用let再声明赋值了一次才对。那怎么还会暂时性死区呢?
登陆购买课程后可参与讨论,去登陆吧
同学你好,对于你的问题解答如下:
1、let声明的变量不会提升
2、因为代码在真正执行之前会进行预解析,虽然let声明的变量不会提升,但是预解析阶段,已经知道这里使用let,而ES6 明确规定,如果区块中存在let和const命令,这个区块对这些命令声明的变量或常量,从一开始就形成了封闭作用域。凡是在声明之前就使用这些变量或常量,就会报错。总之,在代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”。
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
登录后可查看更多问答,登录/注册
入行前端,是明智的选择!市场需求大,就业前景好,入行门槛低,小白易上手 全新升级:技术更新,Vue3.0/TypeScript/React17.x; 技术更全面,从0基础到全栈开发再到大型项目构建
157 1
75 1
31 2
201 5
155 1
在线咨询
领取优惠
免费试听
领取大纲
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星