本文实例讲述了ES6使用let命令更简单的实现块级作用域。分享给大家供大家参考,具体如下:
let 带来了更简单的块级作用域
1. ES6新增了let命令,用于声明变量。其与var的不同在于,用let声明的变量只在 { } 内有效。这使得我们可以很方便的实现块级作用域,不再使用立即实行函数。
{ let a=1; var b=2; } console.log(a); //undefined console.log(b); //2
在for循环中使用let可以有效避免全局变量污染。
2. let不会变量提升。也就是说,如果你使用var ,可以先使用变量再定义变量(注意:变量提升只提升声明不提升赋值操作),但是如果你使用let定义变量则必须先定义后使用,否则会报错。
console.log(a);//报错:Uncaught ReferenceError: a is not defined console.log(b); //undefined let 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程序设计有所帮助。
标签:
ES6,let命令,块级作用域
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com
暂无“ES6使用let命令更简单的实现块级作用域实例分析”评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。