暂时性死区
小于 1 分钟
暂时性死区
定义:
let/const
命令会使区块形成封闭的作用域。若在声明之前使用变量,就会报错。总之,在代码块内,使用let
命令声明变量之前,该变量都是不可用的。这在语法上,称为 “暂时性死区”现象:
console.log(a) // ReferenceError: a is not defined let a
浅谈 let,const,var 关于暂时性死区:
- var 不存在暂时性死区,而 let,const 存在,所以 let,const 在变量声明之前就访问变量的话,会直接提示
ReferenceError
,而不像 var 那样使用默认值undefined
- reason:
var
声明的变量可以重复声明, 没有块的概念, 可以跨块访问, 不能跨函数访问, 当出现相同的变量名时, 后者会覆盖前者
let
,const
有块级作用域(花括号内), 并且不可重复声明 (不存在变量提升,所以用let,const
定义的变量一定要在声明后再使用,否则会报错)