Обновление неизменяемого объекта без нарушения неизменности в javascript - PullRequest
1 голос
/ 28 марта 2020

Если объект неизменен в Javascript, как мне обновить его значения и как получить обновленное значение из его переменной.

Например:


const todo = {
  text: 'Eat',
  completed: false
};

// To update todo completion to true
const updatedTodo = Object.assign({}, todo, { completed: true });

I не могу переназначить новый updatedTodo на Todo, потому что я использовал const. Если я изменю const на let и переназначу его, разве это не нарушит неизменность. Я, наверное, что-то упускаю.

1 Ответ

0 голосов
/ 28 марта 2020

todo является неизменным, но его свойства не являются. Вы можете изменить их либо с помощью Object.assign(todo, { completed: true}) (обратите внимание, что в начале нет пустого объекта, таким образом todo фактически изменяется), либо вы можете просто установить его с помощью todo.completed = true.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...