栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

ES6使用let命令更简单的实现块级作用域实例分析

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ES6使用let命令更简单的实现块级作用域实例分析

本文实例讲述了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程序设计有所帮助。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/88699.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号