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