在 JavaScript 中,使用 const
声明的变量是常量,它的值在声明后就不能被改变了,否则会抛出 TypeError
错误。但是需要注意的是,使用 const
声明的变量并不是不可变的,而是它们的值不可变。如果 const
变量的值是一个对象或数组,那么该对象或数组的属性和元素是可以被修改的,只要不改变变量本身的值即可。
例如:
const obj = {a: 1, b: 2};
obj.a = 3; // 可以修改对象的属性
console.log(obj); // 输出 {a: 3, b: 2}
const arr = [1, 2, 3];
arr[0] = 4; // 可以修改数组的元素
console.log(arr); // 输出 [4, 2, 3]
因此,虽然使用 const
声明的变量不能被重新赋值,但是它们并不是完全不可变的,还是可以通过改变它们的属性和元素来实现一些修改。如果想要完全不可变的变量,可以使用其他的方式,例如使用 Object.freeze()
方法来冻结对象。