使用const声明常量
const
和let
完全相同,仅在用const
声明的变量,必须在声明时赋值,而且不可以重新赋值。const
是一个不会变化的常量- 实际上,在开发中,应该尽量使用
const
来声明变量,以保证变量的值不会被随意篡改。
1.根据经验,在开发中的很多变量,都是不会更改的,也不应该更改的
2.后续的很多框架或者是第三方JS库,都要求数据不变,使用常量可以一定程度上保证这一点。
注意的细节:
1.常量不可变,是指声明的常量的内存空间不可变,并不保证内存空间中的地址指向其他空间不可变
//我如果声明一个对象,那么他的内存空间不可变但是地址是可以变的
const a = {
name: '123';
}
a.name = 'abc';//给a.name赋值是可以的
console.log(a.name);//正常输出
这只能控制的是一部分,如果说你想要完全控制里面的内容不变,则还需要一些第三方库。
2.常量的命名
<1>.特殊的常量:该常量从字面意义上,一定是不可变得,比如圆周率,月地距离或其他一些绝不可能变化的配置。通常,该常量的名称全部使用大写,多个单词之间用下划线分割。
//比如圆周率
const PI = 3.14;
//月地距离
const MOON_EARTH_DISTANCE = 3245563424;
<2>.普通的常量:使用和之前一样的命名即可。
3.在for循环中不允许使用常量const
但是在for in
循环中可以使用
因为在for循环中i是要进行改变的是同一个作用域下
而在for in循环中是创建多个作用域进行操作的所以是可以使用的