Прочитал про
ужасы мутаций в js.
Пример вида
const egg = { name: "Humpty Dumpty" };
egg.isBroken = false;
console.log(egg);
автор называет мутацией. Так же я читал, что мутацией является изменение объекта по ссылке (т.е. конкретно такой вид изменения).
До какой степени стоит возводить избегание мутаций до абсолюта?
Например, страшен ли этот пример, где объект изменяется напрямую?
const egg = { name: "Humpty Dumpty" };
egg.isBroken = false;
console.log(egg);
Или стоит избегать только тех вариантов, где объект изменяется не напрямую?
const egg = { name: "Humpty Dumpty" };
const newEgg = egg;
newEgg.name = "Errr ... Not Humpty Dumpty";
Или, например такой код
const obj1 = {
val: true
}
const obj2 = {
string: "string"
}
obj1 = obj2
Или, например, в реакт
const obj = this.props.item
obj.id = "newId1"
?