1.基于LET创建变量,会把大部分{}当作一个私有的块级作用域(类似于函数的私有作用域),在这里也是重新检测语法规范,看一下是否是基于新语法创建的变量,如果是按照新语法规范来解析
2.console.log(a); //Uncaught ReferenceRrror: a is not defined
console.log(typeof a); // =>"undefined"在原有浏览器渲染机制下,基于typeof等逻辑运算符检测一个未被声明过的变量,不会报错,返回undefined
=>可以理解为是浏览器处理的一个死区
es6中用let创建的变量走新语法规范,在没有声明这个变量的时候,使用typeof检测会直接报错,不会是undefined,解决了上面说的暂时性死区问题
JS的暂时性死区问题
最新推荐文章于 2024-01-02 21:46:12 发布