Skip to content

Latest commit

 

History

History
21 lines (14 loc) · 1.24 KB

File metadata and controls

21 lines (14 loc) · 1.24 KB

В чём разница между изменяемым (mutable) и неизменяемым (immutable) объектом?

Изменяемый объект - это объект, состояние которого может быть изменено после его создания. Неизменяемый объект - это объект, состояние которого не может быть изменено после его создания.

В JavaScript:

  • Неизменяемые типы: Number, String, Boolean, null, undefined
  • Изменяемые типы: все объекты по умолчанию (Object, Array, Map, Set и т.д.)

Неизменяемость может быть достигнута с помощью:

  • Object.freeze() - предотвращает добавление новых свойств и изменение существующих
  • Object.seal() - предотвращает добавление новых свойств, но позволяет изменять существующие
  • Использование библиотек, таких как Immutable.js