关于暂存死区
老师看看我的注释 问题在注释里
//暂存死区 不是很理解 希望老师在讲一遍
let monkey="hhh"; //这个是不是相当于定义了一个全局变量
{
console.log(monkey); //这个就可以访问 前面定义的的那个全局变量
let monkey2="hhhaaa"; //如果这个monkey2变为了monkey 就出现暂存死区 由于前面一段代码未经定义就先试用 就会报错
}
console.log(monkey); //这个是访问外面monkey
28
收起
正在回答 回答被采纳积分+1
2回答
好帮手慕慕子
2020-08-17 17:37:55
同学你好,具体可以参考如下解析:
只要块级作用域内存在let(或const)命令,它所声明的变量(或常量)就“绑定”在这个区域,不再受外部的影响。
代码中存在全局变量monkey,但是块级作用域内let又声明了一个局部变量monkey,导致后者绑定这个块级作用域,所以在let声明变量前,访问monkey会报错。
ES6 明确规定,如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域。凡是在声明之前使用这些变量,就会报错。
综上可知:在代码块内,使用let(或const)命令声明变量之前,该变量(或常量)都是不可用的。这种现象就称为暂存死区。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
4.Vue与React高级框架开发
- 参与学习 人
- 提交作业 239 份
- 解答问题 10739 个
本阶段带你深入前端开发的肌理,通过ES6基础知识和前端主流高级框架的学习,助你快速构建企业级移动webAPP应用,进入职场的终极battle
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星