我是靠谱客的博主 爱听歌八宝粥,最近开发中收集的这篇文章主要介绍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中什么是暂时性死区的详细内容,更多请关注靠谱客其它相关文章!

最后

以上就是爱听歌八宝粥为你收集整理的es6中什么是暂时性死区的全部内容,希望文章能够帮你解决es6中什么是暂时性死区所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(90)

评论列表共有 0 条评论

立即
投稿
返回
顶部