时间:2021-05-28
本文实例讲述了ES6使用let命令更简单的实现块级作用域。分享给大家供大家参考,具体如下:
let 带来了更简单的块级作用域
1. ES6新增了let命令,用于声明变量。其与var的不同在于,用let声明的变量只在 { } 内有效。这使得我们可以很方便的实现块级作用域,不再使用立即实行函数。
{ let a=1; var b=2;}console.log(a); //undefinedconsole.log(b); //2在for循环中使用let可以有效避免全局变量污染。
2. let不会变量提升。也就是说,如果你使用var ,可以先使用变量再定义变量(注意:变量提升只提升声明不提升赋值操作),但是如果你使用let定义变量则必须先定义后使用,否则会报错。
console.log(a);//报错:Uncaught ReferenceError: a is not definedconsole.log(b); //undefinedlet a=1;var b=2;3. 暂时性死区(Temporal Dead Zone)
只要块级作用域内有let,let 声明的变量不受全局同名变量的影响,如果想要在块级作用域内使用let 声明的变量,只能为其赋值。
var a=1;if(true){ a=2; let a; //Uncaught ReferenceError: a is not defined}4. 不允许在一个块级作用域内重复声明一个变量
不管是var与let重复声明,还是let与let重复声明,都会报错。
希望本文所述对大家ECMAScript程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了ES6新特性中的let和const命令。分享给大家供大家参考,具体如下:1.let命令①在js中是没有块级作用域的,var声明的变量作用域是整个函
ES6——let和const命令引言本文主要讲解ES6中变量的相关操作,变量的命名,讲解var、let、const三者的区别正文ES6中的let和const都是
本文实例讲述了es6中let和const的使用方法。分享给大家供大家参考,具体如下:ES6新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量
ES6强制开启严格模式作用域•var声明局部变量,for/if花括号中定义的变量在花括号外也可访问•let声明的变量为块作用域,变量不可
一、变量提升在ES6之前,JavaScript没有块级作用域(一对花括号{}即为一个块级作用域),只有全局作用域和函数作用域。变量提升即将变量声明提升到它所在作