Оскільки у JavaScript об'єкти не є незмінюваними (наприклад, можна легко додати значення у масив чи властивість у об'єкт), існують сторонні бібліотеки, як наприклад, Immutable js, які дозволяють користуватись перевагами незмінюваних даних. Методи Immutable js дозволяють додавати властивості об'єкту шляхом копіювання вихідного об'єкту у новий. Таким чином ми матимемо два об'єкти - новий (із доданими властивостями) і "старий", ніяк не змінений. Immutable js доцільно використовувати у зв'язці з Flux/Redux - наприклад, щоб зберігати незмінний стан у store'і.
Відмінно)