如果对象在Javascript中是不可变的,如何更新其值以及如何从其变量获取更新的值。
例如:
const todo = {
text: 'Eat',
completed: false
};
// To update todo completion to true
const updatedTodo = Object.assign({}, todo, { completed: true });
我无法使用updatedTodo
将新的Todo
重新分配给const
。如果将const
更改为let
并重新分配,那不会破坏不变性。我可能缺少一些东西。
todo
是不可变的,但其属性不是。您可以通过Object.assign(todo, { completed: true})
进行更改(请注意开始时没有空对象,这样实际上会修改todo
),也可以通过todo.completed = true
进行简单设置。