
const 变量使值不可变吗
在现代 JavaScript 开发中,const 关键字被广泛用于声明常量。许多人误以为 const 声明的变量是完全不可变的,但实际上情况并非如此。本文将深入探讨 const 关键字的特性,解释它如何影响变量的值,并通过具体的代码示例帮助读者更好地理解和应用 const。
基本概念和作用
const 关键字简介
const 是 ES6 引入的关键字,用于声明常量。一旦声明,常量的值不能被重新赋值。const 提供了更好的代码可读性和可维护性,因为它明确表示该变量的值在整个生命周期内都不会改变。
声明和初始化
使用 const 声明的变量必须在声明时进行初始化,否则会报错。
const PI; // SyntaxError: Missing initializer in const declaration
const PI = 3.14159; // 正确
const 变量的不可变性
示例一:基本类型变量
对于基本类型(如数字、字符串、布尔值等),const 确实使得变量的值不可变。
const num = 10;
// num = 20; // TypeError: Assignment to constant variable.
const str = "Hello";
// str = "World"; // TypeError: Assignment to constant variable.
const bool = true;
// bool = false; // TypeError: Assignment to constant variable.
示例二:引用类型变量
对于引用类型(如对象、数组等),const 只确保变量引用的地址不可变,但不阻止对对象内部属性或数组元素的修改。
const obj = {
name: "Alice" };
obj.name = "Bob"; // 合法
console.log(obj); // 输出: { name: "Bob" }
const arr = [1, 2, 3];
arr.push(4); // 合法
console.log(arr); // 输出: [1, 2, 3, 4]
示例三:重新赋值引用类型变量
虽然可以修改对象的属性或数组的元素,但不能重新赋值整个对象或数组。
const obj


2258

被折叠的 条评论
为什么被折叠?



