const
是 JavaScript 中的一个关键字,用于声明常量。常量是指在程序执行过程中其值不会被改变的变量。使用 const
声明的变量具有块级作用域,这意味着它们只在声明它们的代码块中有效。
const
声明的变量一旦赋值后,就不能再重新赋值。const
声明的变量只在声明它们的代码块(例如函数体、循环体等)中有效。const
声明变量时,必须立即为其赋值。const
,可以明确表示某个变量的值不会改变,从而提高代码的可读性和可维护性。const
可以防止程序员在编写代码时意外地修改变量的值,减少潜在的错误。const
可以声明任何类型的变量,包括基本类型(如字符串、数字、布尔值)和复杂类型(如对象、数组、函数)。
const
声明。// 基本类型常量
const PI = 3.14159;
console.log(PI); // 输出: 3.14159
// 尝试修改常量值(会报错)
// PI = 3.14; // TypeError: Assignment to constant variable.
// 复杂类型常量
const person = {
name: 'Alice',
age: 30
};
console.log(person); // 输出: { name: 'Alice', age: 30 }
// 尝试修改对象的属性值(不会报错)
person.age = 31;
console.log(person); // 输出: { name: 'Alice', age: 31 }
// 尝试重新赋值对象(会报错)
// person = {}; // TypeError: Assignment to constant variable.
const
声明的对象属性?虽然 const
声明的变量本身不能被重新赋值,但它所指向的对象或数组的内容是可以修改的。这是因为 const
只保证了变量引用的不变性,而不是对象内容的不变性。
如果需要确保对象的内容也不可变,可以使用 Object.freeze()
方法。Object.freeze()
可以冻结一个对象,使其属性不可修改、不可添加新属性、不可删除现有属性。
const immutablePerson = Object.freeze({
name: 'Alice',
age: 30
});
// 尝试修改对象的属性值(不会报错,但也不会生效)
immutablePerson.age = 31;
console.log(immutablePerson); // 输出: { name: 'Alice', age: 30 }
// 尝试添加新属性(不会报错,但也不会生效)
immutablePerson.gender = 'female';
console.log(immutablePerson); // 输出: { name: 'Alice', age: 30 }
通过这种方式,可以确保对象的内容在程序执行过程中保持不变。
领取专属 10元无门槛券
手把手带您无忧上云