如何在 JavaScript 中更新常量数组

在 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意味着不能重新分配变量,它不会使存储在变量中的值不可变。

发表评论