ES6的新增关键字:let 与 const

ES6:ECMAScript 的第6个版本
相比较之前的版本,ES6中新增了两个javascript关键字,即:letconst

let

作为ES6的新增关键字,let有着与我们常见的var关键字不同的特性:
1、 var声明的全局变量是全部挂载到window中的,会造成全局污染,但是let声明的变量不会挂到window中,也就不会造成全局变量的污染
2、 let声明的变量只在let命令的代码块中生效。列如:

   	{
   		let a = 100;
   		console.log(a);
   	}
   	console.log(a);

该代码运行结果如下图:
在这里插入图片描述
当我们运行后就可以在控制台看见上图结果:第一个a打印的是a的值100,打印第二个a则报错:NOT DEFINED(未定义),说明在花括号结束后,也就是出了这个代码块之后,let声明的变量就失效了。
3、 let关键字不允许重复声明,但是var关键字可以:

let a = 10;
let a = 20;
var b = 10;
var b = 20;
console.log(a);// 输出结果报错为 :Identifier 'a' has already been declared
console.log(b); //输出结果为 : 4

const

作为ES6中新增的第二个关键字,const的特性与let一样,并且还有其额外的特性:
1、 var声明的全局变量是全部挂载到window中的,会造成全局污染,但是const声明的变量不会挂到window中,也就不会造成全局变量的污染。
2、 const声明的变量只在const命令的代码块中生效
3、 const关键字不允许重复声明,但是var关键字可以
4 、 不允许被修改,不允许改变内存空间的地址。
const 声明一个只读变量,声明之后不允许改变。意味着,一旦声明必须初始化,否则会报错:

const a = "3";
console.log(q)  // 输出结果  : 3
const b;  //结果报错: SyntaxError: Missing initializer in const declaration 

5、 const声明和赋值必须一次性完成,并且后期不允许改变存储空间的地址。代码迁移从ES5到ES6能使用const就是用const 不能使用就用let,常量效率比变量高。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值