暂时性死区:

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

let,const,var关于暂时性死区相关推荐

  1. ES6(一)——字面量的增强、解构、let/const、块级作用域、暂时性死区

    一.字面量的增强 ES6中对 对象字面量 进行了增强,称之为 Enhanced object literals(增强对象字面量). 字面量的增强主要包括下面几部分: 属性的简写:Property Sh ...

  2. 【前端17_JS】ES 6:Let 、Const、对象冻结、解构赋值、暂时性死区 TDZ、惰性求值、模板字符串

    ES 6 简介 let 声明变量 变量不提升 暂时性死区 TDZ const 静态变量 (常量*) 实质 引申 对象冻结 解构赋值 起步 ...arr 展开运算符 ...[] 数组拓展运算符 传参 找 ...

  3. let/const 的变量提升与暂时性死区

    从一道面试题说起 请说出 let,const,var 的区别 大部分的回答是这样的,甚至很多博客中的答案也是这样的: let/const 提供了块级作用域 let 不能重复定义 var 有变量提升,l ...

  4. JS中关于let(const)暂时性死区的分析笔记

    let的暂时性死区 const与let在这个地方原理上差不多,故以let为例进行分析 1.什么是暂时性死区 首先来看一段代码 console.log(a); // undefined var a = ...

  5. 详解JS中的TDZ(暂时性死区)

    TDZ(temporal dead zone)暂时性死区 来源: ES6 明确规定,如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域.凡是在声明之前就使用 ...

  6. js 详解es6 let TDZ(暂时性死区)

    暂时性死区产生的原因: ES6 明确规定,如果区块中存在 let 和 const 语句(注意:let.const语句不存在变量提升),这个区块对这些命令声明的变量,从一开始就形成了封闭作用域.凡是在声 ...

  7. 理解JavaScriptES6中的TDZ(暂时性死区)

    什么是TDZ Temporal Dead Zone(TDZ)是ES6中对作用域新的专用语义.TDZ名词并没有明确地写在ES6的标准文件中,一开始是出现在ES Discussion讨论区中,是对于某些遇 ...

  8. 理解ES6中的TDZ(暂时性死区)

    什么是TDZ Temporal Dead Zone(TDZ)是ES6(ES2015)中对作用域新的专用语义.TDZ名词并没有明确地写在ES6的标准文件中,一开始是出现在ES Discussion讨论区 ...

  9. ES6——TDZ(暂时性死区)

    暂时性的死区(Temporal Dead Zone),简写为 TDZ: 只要块级作用域里存在let命令,它所声明的变量就绑定这个区域,不在受外部的影响 let 和 const 声明的变量不会被提升到作 ...

最新文章

  1. 我的微信'智障聊天助手'的设计思路
  2. 在eclipse下配置maven插件
  3. 层拖动Drag Div
  4. Python : async和await、asyncio与aiofiles
  5. 持久层框架 -Xxmm.Net
  6. 数据结构——图的基本操作
  7. android项目epub格式电子书开源开发
  8. python拼图_利用python制作拼图小游戏的全过程
  9. 读《编码:隐匿在计算机软硬件背后的语言》有感
  10. JavaScript 是怎么运行起来的?
  11. d610网络计算机,尼康D610评测:机身细节
  12. 哪些网站让你觉得发现了新大陆?分享几个神奇的黑科技网站
  13. Homework7_ch5 数据的共享与保护(2)——friend
  14. 修改所有文件创建时间
  15. 共享电动汽车分时租赁TBOX,车联网OBD终端,语音4GTBOX
  16. Linux安全培训 ppt,Linux安全应用指导培训资料(doc 50页)
  17. 企业公众号运营堪忧 微信涨粉已过黄金时代
  18. 计算机绘图综合训练铣刀头实训报告,典型零件测量与计算机绘图
  19. 震惊!一段代码4个错!竟然全是单词拼写错误
  20. 地理坐标系与投影坐标系辨析

热门文章

  1. 适合初学者学习的Python书籍列表(2018年最新书籍)
  2. 【线性代数】向量的乘法运算
  3. html5向下兼容的意思,什么是兼容?什么是向上兼容?什么是向下兼容?
  4. java 正则车牌_Android中手机号、车牌号正则表达式大全
  5. 微信公众号开发步骤(一)
  6. 如何关闭linux系统的53端口,3种关闭linux系统端口方法(示例代码)
  7. 怎么设置电脑的固定IP地址
  8. strncmp()详解
  9. MOVEit 爆第三个 0day,美国多个联邦机构等受影响
  10. 北斗三号频点_全球首颗全面支持北斗三号基带芯片问世