在 JavaScript 中更新常量数组
How to Update a Const Array in JavaScript
const
使用方括号表示法更新使用关键字声明的数组的值,例如arr[0] = 'new value'
。声明为 using 的数组元素const
可以直接更新,但变量不能重新赋值。
索引.js
const arr = ['hello', 'world']; // ✅ works arr[0] = 'test'; console.log(arr); // ['test', 'world'] // ⛔️ doesn't work // 👇️ Error: Assignment to constant variable. arr = ['test', 'world'];
当使用
const
关键字声明变量时,变量不能被重新赋值,但是如果变量是数组或对象,它的值可以直接更新。
索引.js
// ✅ works const arr = ['one'] arr[0] = 'two' console.log(arr); // 👉️ ['two'] const test = 'one' // ⛔️️ Error: Assignment to constant variable. test = 'two';
如果需要创建一个值不能更改的数组,可以使用
Object.freeze
方法。
索引.js
const arr = ['apple', 'banana']; Object.freeze(arr); arr[0] = 'pear'; console.log(arr); // 👉️ {country: 'Chile'}
该Object.freeze
方法用于冻结数组或对象。
冻结数组后:
- 它的元素不能改变
- 新元素不能添加到数组
- 无法从数组中删除现有元素
结合使用
const
关键字和方法,使数组不可变。 Object.freeze
最后,使用关键字声明变量const
意味着不能重新分配变量,它不会使存储在变量中的值不可变。