let,const,var关于暂时性死区

暂时性死区:

  • 定义: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定义的变量一定要在声明后再使用,否则会报错)

上一篇:鼠标单击单元格后内部文本消失


下一篇:vue3 + threejs 实现仿iView官网大波浪特效