TGViewer
Defront — про фронтенд-разработку и не только Defront — про фронтенд-разработку и не только @defront · 5.04K subscribers
Post #297 2.97K
Аксель Раушмайер написал у себя в блоге статью про проблемы с разделяемым изменяемым состоянием и способы их решения — "The problems of shared mutable state and how to avoid them".

Если один и тот же объект, массив или другая структура изменяется в нескольких местах программы, то это может приводить к неприятным багам. Для предотвращения таких проблем часто используют защитное копирование (Defensive copying), недеструктивное изменение данных и иммутабельные данные. В статье описываются все эти подходы.

Забавно, что буквально перед тем как начать статью, я сидел и пробовал вспомнить все способы ограничения доступа к свойствам объекта. Вспомнил только про Object.freeze и Object.seal. В статье нашёл третий забытый метод — Object.preventExtensions.

Статья у Акселя получилась большой и подробной. Рекомендую почитать.

#js #immutability

https://2ality.com/2019/10/shared-mutable-state.html
More from @defront
  1. Jan 7, 2024Channel name was changed to «Defront — про фронтенд-разработку и не только»
  2. Feb 24, 2022Про войну в Украине Шлю лучи поддержки братьям и сёстрам украинцам. В моём окружении нет н…
  3. Feb 23, 2022Qwik — возобновляемый JavaScript-фреймворк Райан Карниато поделился своими мыслями после р…
  4. Feb 22, 2022Обработка ошибок с помощью reportError Стэфан Джудис рассказал про малоизвестный метод для…
  5. Feb 21, 2022Выбор библиотеки по её размеру Владимир Клепов рассказал про подводные камни выбора библио…
  6. Feb 10, 2022Time-travel debugging в Svelte Сэм Ван Тассел рассказал про DeLorian — новый инструмент дл…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →