• 技术文章 >web前端 >前端问答

    es6中什么是暂时性死区

    长期闲置长期闲置2022-03-30 17:29:26原创87

    在es6中,暂时性死区是一个语法错误,是指let和const命令使区块形成封闭的作用域,使用let和const命令声明变量之前,该变量都是不可用的,es6给这种错误设定了一个专有名词叫暂时性死区。

    本教程操作环境:windows10系统、ECMAScript 6.0版、Dell G3电脑。

    es6中什么是暂时性死区

    暂时性死区:Temporal Dead Zone 简称 TDZ

    在ES6中, 引入了 let 和 const 两个新的命令, 并且使用这两个命令定义的变量不存在变量提升, 且使用let和const声明变量之前, 该变量都是不可用的, 这在语法上被称为 暂时性死区

    console.log(a)
    let a = 100  // ReferenceError

    什么意思呢? 就是说es6给这种错误设定了一个专有名词叫 暂时性死区, 其实它就是简简单单的指的是一个语法错误而已

    当程序的控制流程在新的作用域(module function 或 block 作用域)进行实例化时,在此作用域中用let/const声明的变量会先在作用域中被创建出来,但因此时还未进行词法绑定,所以是不能被访问的,如果访问就会抛出错误。因此,在这运行流程进入作用域创建变量,到变量可以被访问之间的这一段时间,就称之为暂时死区。

    如果你还是记不住,那么只需理解下面这句话即可:

    ES6规定,let/const命令会使区块形成封闭的作用域。若在声明之前使用变量,就会报错。

    总之,在代码块内,使用 let 命令声明变量之前,该变量都是不可用的。

    这在语法上,称为 “暂时性死区”( temporal dead zone,简称 TDZ)。

    【相关推荐:javascript视频教程web前端

    以上就是es6中什么是暂时性死区的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:es6
    上一篇:es6箭头函数是什么意思 下一篇:es6生成器是什么意思
    Web大前端开发直播班

    相关文章推荐

    • es6箭头函数要注意什么• typescript跟es6有什么区别• assign是es6方法吗• es6怎么判断数组是否有某一项值• es6怎么把字符串转化为对象

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网