美文网首页ES6ES6
1.暂时性死区

1.暂时性死区

作者: Easy_Dream | 来源:发表于2019-01-07 09:51 被阅读0次

ES6中,let/const是使用区块作用域;var是使用函数作用域;在let和const声明变量和常量之前访问对应的变量与常量。会抛出ReferenceError错误;但在var声明之前就访问对应的变量,则会得到undefined。

如果区块中存在let和const命令,这个区块对这些命令声明的变量就形成封闭的作用域。在声明之前使用这些变量,就会报错,这就是暂时性死区。

解释:当程序的控制流程在新的作用域进行实例化时,在此作用域中用let/const声明的变量会先在作用域中被创建出来,但因此时还未进行词法绑定(对声明语句进行求值运算),所以不能被访问(访问就会抛出错误)。所以在这运行流程进入作用域创建变量,到变量开始被访问之间的一段时间,就称之为TDZ(暂时性死区)

相关文章

  • 1.暂时性死区

    ES6中,let/const是使用区块作用域;var是使用函数作用域;在let和const声明变量和常量之前访问对...

  • Javascript 面试经典(一)

    js暂时性死区 在ES6中新增的定义变量的关键字let和const,会带来一个暂时性死区的问题,暂时性死区简单来讲...

  • Javascript面试常问点

    js暂时性死区 在ES6中新增的定义变量的关键字let和const,会带来一个暂时性死区的问题,暂时性死区简单来讲...

  • let、const和var的区别

    var的问题: let的问题: const的问题: 暂时性死区: 暂时性死区的本质就是,只要一进入当前作用域,所要...

  • 暂时性死区

    函数的执行上下文是一门语言最重要/最容易引起误解的知识点. JavaScript的执行上下文也是被吐槽最多的点. ...

  • ES6 let const

    暂时性死区:只要块级作用域内存在let命令,它所声明的变量就绑定这个区域,不再受外部影响。 暂时性死区:let.c...

  • JS高级知识点

    TDZ(暂时性死区) 学习暂时性死区之前需要先了解一下var,let和const的区别(变量提升可分为创建提升和初...

  • ES6的let命令(二)

    2.暂时性死区 暂时性死区是指只要块级作用域内存在let命令,它所声明的变量就绑定这个作用域,不会受到外部的影响。...

  • TDZ暂时性死区

    由阮一峰老师的一条微博引发的 TDZ 思考 var 和 let 声明的变量在发生声明提升时,初始化(initial...

  • 深入浅析var,let,const的异同点

    一、let和var区别 1.关于变量提升,var能变量提升,let不能 2.暂时性死区:块级作用域内存在let命令...

网友评论

    本文标题:1.暂时性死区

    本文链接:https://www.haomeiwen.com/subject/llzhrqtx.html