ES6 Let 与 Const

本文详细介绍了ES6中的let和const命令,包括它们与var的区别、变量提升及暂时性死区。同时,讲解了Map和Set的数据结构,包括它们的属性、方法、特殊值处理以及在数据操作中的应用,如数组去重、并集、交集和差集等。
摘要由CSDN通过智能技术生成

ES6 Let 与 Const

let命令的基本用法:

{
	let a = 0;
	a    // a=0
}
a 		//会报 ReferenceError: a is not defined 错误

let 与 var 的区别:

{
	let a = 0;
	var b = 0;
}
a 		//会报 ReferenceError: a is not defined 错误
b 		// b = 0;

当多个同名的变量时

{
	let a = 0;
	let a = 0;			//  会报变量已声明,重复错误
	var b = 1;
	var b = 4;
}
b  	// b = 4;

当使用for循环时:

for (var i = 0; i < 10; i++) {
 setTimeout(function(){
	console.log(i);
  })
}
// 输出十个 10
for (let j = 0; j < 10; j++) {
	setTimeout(function(){
		console.log(j);
 })
}
// 输出 0123456789
变量提升:
什么叫提升?
  1. 提升就是变量还没有被声明,但是我们却可以使用这个未被声明的变量时,这种情况就叫做提升,并且提升的是声明。

    console.log(a);  //ReferenceError: a is not defined
    let a = "apple";
    
    console.log(b);  //undefined
    var b = "banana";
    
  2. 使用let在没有声明变量之前设置输出语句, a变量会检测到该变量没有声明,因此会报错。

  3. 使用var在没有声明变量之前设置输出语句,变量 b 存在变量提升,当脚本开始运行的时候,b 已经存在了,但是还没有赋值,所以会输出undefined。

总结

  1. let它只是一个局部变量,只能用在当前代码块内,一旦超出改代码块将报错, 当在同一代码块中let不能重复声明,只能声明一次,重复声明会报 Identifier ‘a’ has already been declared 错。(变量已声明)
  2. var是在全局范围内有效的,允许重复声明,但是重复声明的var会将前一个覆盖
    在使用for循环时,为了避免出现不必用的数据结果,建议使用let声明。
  3. let 不存在变量提升,但是var存在变量提升。

const命令

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值