【2022.8.13】let var你真的清楚吗
Opened this issue · 2 comments
lkzwc commented
var
console.log(e)
var e =10
//undefined
如果没有申明a,则打印出来会是a is not defined
变量提升
系统将变量提提升到使用前进行定义
let
{
console.log(typeof e)
let e =10
}
// 代码报错
临时死区
常量不存在变量提升的情况,但是let和const申明的常量,会被放到临时死区,JS引擎在扫描代码变量时候,要不会把变量提升到顶部,要不就会放到临时死区
lkzwc commented
let命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”
lkzwc commented
块级作用域