如何在 JavaScript 中更新一个 const 对象

在 JavaScript 中更新一个 const 对象

How to Update a const Object in JavaScript

const使用点或方括号表示法来更新使用关键字声明的对象的值,例如obj.name = 'New Value'. using 声明的对象的键值对const可以直接更新,但是变量不能重新赋值。

索引.js
const obj = { name: 'Tom', age: 30, }; // ✅ works obj.name = 'John'; obj.age = 29; console.log(obj); // 👉️ {name: 'John', age: 29} // ⛔️ doesn't work // ❌️ Error: Assignment to constant variable. obj = {name: 'John', age: 29};

当使用
const
关键字声明变量时,变量不能被重新赋值,但是如果变量是对象或数组,它的值可以直接更新。

索引.js
// ✅ works const obj = {country: 'Chile'}; obj['country'] = 'Columbia'; console.log(obj); // 👉️ {country: 'Columbia'} const example = 'hello'; // ⛔️ Error: Assignment to constant variable. example = 'test';

如果您要创建一个值无法更新的对象,则必须使用
Object.freeze
方法。

索引.js
const obj = {country: 'Chile'}; Object.freeze(obj); obj.country = 'Columbia'; console.log(obj); // 👉️ {country: 'Chile'}

因为我们使用了const关键字来声明对象,变量不能被重新赋值。

Object.freeze方法冻结对象:

  • 防止更改键值对
  • 要添加的新属性
  • 要删除的现有属性
结合使用const关键字和方法,使对象不可变。 Object.freeze

最后,使用关键字声明变量const意味着不能重新分配变量,它不会使存储在变量中的值不可变。

发表评论