ES6中 const变量简单介绍
const和let完全相同,仅在用const声明的变量
-
必须在声明时赋值
-
而且不可以重新赋值。
-
const是一个不会变化的常量
实际上,在开发中,应该尽量使用const来声明变量,以保证变量的值不会被随意篡改。
1.根据经验,在开发中的很多变量,都是不会更改的,也不应该更改的
2.后续的很多框架或者是第三方JS库,都要求数据不变,使用常量可以一定程度上保证这一点。
const name = "老张";
// name = "老刘";报错,更改name的值
// const name;报错,重新赋值
const SEX = "男";
console.log(name);
console.log(SEX);
注意一:
1.常量不可变,是指声明的常量的内存空间不可变,并不保证内存空间中的地址指向其他空间不可变
//我如果声明一个对象,那么他的内存空间不可变但是地址是可以变的
const a = {
name: '123';
}
a.name = 'abc';//给a.name赋值是可以的
console.log(a.name);//正常输出
const 处理对象
- const 实际上保证的不是值不能改变,而是保证的变量所指向的内存地址不能改变
- 对象类型的数据会在内存中开辟一个空间,返回内存地址给到变量,对象内部的海事局是可变的
- 但是给变量如果再次赋值给表的对象就会报错
const obj = {};
obj.name = "admin";
obj.age = 20;
console.log(obj);
/*obj内部可以随便赋值更新,但是obj后面跟括号就不行*/
注意二:
在for循环中不允许使用常量const,但是在for in循环中可以使用
因为在for循环中i是要进行改变的是同一个作用域下
而在for in循环中是创建多个作用域进行操作的所以是可以使用的