Size: a a a

2020 September 27

t

th.witness in pro.js
For miles & miles
Неизменяемым (англ. immutable) называется объект, состояние которого не может быть изменено после создания. Результатом любой модификации такого объекта всегда будет новый объект, при этом старый объект не изменится.
___________________
Как это понимать? Т.е при модификации создаётся новый объект, с которым мы и будем работать? Что тогда делать со старым, он же занимает какое-то место в памяти?
Уничтожь.
источник

t

th.witness in pro.js
А если в общем, то это довольно абстрактненько 🌚
источник

t

th.witness in pro.js
Давай конкретный пример.
источник

F

For miles & mile... in pro.js
th.witness
Уничтожь.
В чём тогда прикол иммутабельности? Почему напрямую не работать с одним обьектом?
источник

F

For miles & mile... in pro.js
Примера нет, пытаюсь разобраться в столь абстрактных понятиях
источник

t

th.witness in pro.js
For miles & miles
В чём тогда прикол иммутабельности? Почему напрямую не работать с одним обьектом?
А не получается у меня придумать ничего 🤔
источник

F

For miles & mile... in pro.js
источник

F

For miles & mile... in pro.js
С хабра
источник

t

th.witness in pro.js
For miles & miles
Примера нет, пытаюсь разобраться в столь абстрактных понятиях
Предлагаю забыть это до того момента, пока оно тебе не понадобится.
источник

F

For miles & mile... in pro.js
Дак нет, я оказывается постоянно работаю с иммутабельностью, в том же стейте Реакта
источник

F

For miles & mile... in pro.js
Теперь бы понять что это всё значит
источник

t

th.witness in pro.js
Ладно, тут без меня, ибо я сам не шарю за эту теорию 🤔
источник

PC

Patric Cormac in pro.js
привет. А как в шаблонную строку вставить ₽ ?
источник

В

Виктория in pro.js
For miles & miles
Неизменяемым (англ. immutable) называется объект, состояние которого не может быть изменено после создания. Результатом любой модификации такого объекта всегда будет новый объект, при этом старый объект не изменится.
___________________
Как это понимать? Т.е при модификации создаётся новый объект, с которым мы и будем работать? Что тогда делать со старым, он же занимает какое-то место в памяти?
Так и понимать.
Буквально

let obj = { key: 'value', key2: 'value2' } // создаешь объект

console.log(obj.key) // как-то с ним работаешь

let copy = { ...obj, key: 'kukarek' } // модифицируешь (но НЕ САМ объект, а создаешь его копию с измененным свойством)

console.log(copy) // дальше как-то работаешь уже с КОПИЕЙ объекта
источник

F

For miles & mile... in pro.js
Виктория
Так и понимать.
Буквально

let obj = { key: 'value', key2: 'value2' } // создаешь объект

console.log(obj.key) // как-то с ним работаешь

let copy = { ...obj, key: 'kukarek' } // модифицируешь (но НЕ САМ объект, а создаешь его копию с измененным свойством)

console.log(copy) // дальше как-то работаешь уже с КОПИЕЙ объекта
Получается иммутабельность - bad praсtice? Раз в стеке остается объект, с которым я работать больше не буду
источник

В

Виктория in pro.js
Получается, что obj это состояние объекта когда-то в прошлом, таких состояний может быть немало. Можно даже отследить историю состояний объекта во время выполнения программы
источник

В

Виктория in pro.js
For miles & miles
Получается иммутабельность - bad praсtice? Раз в стеке остается объект, с которым я работать больше не буду
Ни в коем случае
источник

В

Виктория in pro.js
For miles & miles
Получается иммутабельность - bad praсtice? Раз в стеке остается объект, с которым я работать больше не буду
Он не остается
источник

В

Виктория in pro.js
Сборщик мусора в js позаботится о нем
источник

В

Виктория in pro.js
Это ж тебе не Си в конце концов...
источник