es6中新增的let、const变量声明

本文详细介绍了ES6中声明变量的三种方式:var、let和const。解释了它们之间的区别,尤其是let和const引入的块级作用域概念,以及const在声明常量时的特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在ES6(ECMAScript 6.0)中,声明变量的方式有三种(在ECMAScript 6.0版本之前只有var一种声明方式):

  1. var
  2. let
  3. const

const类似java中的final,在js中常量用const声明,声明之后值不可以改变,如:
在这里插入图片描述
在使用const声明a=12后,再将15赋值给a,编译器直接报错,const的作用域为代码块(被{}包裹)中。
这里需要注意的是,当const定义的是一个对象时,对象内部的值可以被改变,并且不会报错,这是因为变量指向的是其引用地址,只要不改变变量的引用地址就不会报错
例如:

const a = {
	i:1
}
a.i = 2;
console.log(a.i);

上面的结果就是会输出2,

let声明的变量作用于也是代码块(块作用域),如:
在这里插入图片描述
运行后,在控制台报ReferenceError: i is not defined的错误,意思是没有定义i,如果把let换成var则可以正常输出12。因为var的作用域是函数块(函数作用域),即在整个函数中,不论是在if还是其他代码块中声明的变量,在函数的其他地方都可以调用,而let不能,let的做用范围只是在代码块中,类似java中的变量的作用域。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值