美文网首页
ES6的let,const以及二者与var的区别(1)

ES6的let,const以及二者与var的区别(1)

作者: 山大王_af2b | 来源:发表于2018-05-29 20:56 被阅读0次

ES6 let命令

用来声明变量。语法类似于var,但是所声明的变量,只能在let命令所在的代码块内有效。

for循环的计数器,很适合使用let命令

for循环的特别之处,设置循环变量的那部分是一个父作用域,而循环体内部是一个单独的子作用域


不存在变量提升

var命令会发生“变量提升”现象,即变量可以在声明之前使用,值为undefined。

为了纠正这种现象,let命令改变了语法行为,它所声明的变量一定要在声明之后使用,不然就会报错。


暂时性死区

只要块级作用域内存在let命令,它所声明的变量就绑定在这个区域,不收外部影响。

如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域。凡是在声明之前就使用这些变量,就会报错。

使用ket命令声明变量之前,该变量都是不可用的。这在语法上,成为“暂时性死区”(temporal dead zone,TDZ)

在let命令声明变量tmp之前,都属于变量tmp的“死区”。

“暂时性死区”也意味着typeof不再是一个百分百安全的操作。

有些“死区”比较隐蔽,不容易被发现。

调用bar函数会报错。这是因为参数x默认值等于另一个参数y,而此时y还没有声明。

相关文章

  • react 入门基础(一)之ES6

    ####ES6 let const var 三者的区别 ### 1. let const 不能重复声明变...

  • 总结一下前端常见javascript基础面试题:

    1.var ,let 和const的区别: let和const是es6新增的语法, let和var都可以定义变量,...

  • es6总结一

    es6基础 let和const命令 let和const用于声明变量let跟var的区别 1、let定义过的变量不能...

  • javascript碎片知识000

    const let var 3者的区别。 const 和 let 为es6新增的定义变量的关键字。 var存在...

  • (JS)

    ES6 let、const和var的区别 let和const声明变量不存在变量提升 let和const不能重复声明...

  • js常见知识点--第二篇

    一、var 、let 、const的区别 var是ES5提出的,let和const是ES6提出的。var不存在块级...

  • es6

    1、let 和const(定义变量) (1)var 、let 、const的区别 a、作用域区别var 变量声明会...

  • ES6的let,const以及二者与var的区别(1)

    ES6 let命令: 用来声明变量。语法类似于var,但是所声明的变量,只能在let命令所在的代码块内有效。 fo...

  • let和const

    let/const(常用) let和var 区别 let,const用于声明变量,用来替代老语法的var关键字,与...

  • 2018-09-04

    js变量和常量 JS中与变量常量声明相关的关键字有var、let以及const,其中let和const是ES6的新...

网友评论

      本文标题:ES6的let,const以及二者与var的区别(1)

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