Клонирование объектов или иммутабельнсть данных

742

Доброго времени суток! При разработки проектов со сложной структурой данных частенько возникают проблемы, когда в результате работы данные начинают неожиданно меняться, что приводит к большому числу багов и «задебажить» это бывает очень тяжело. Что бы решить эту проблему можно пойти несколькими путями:

1. Склонировать сложный объект и продолжить с ним работу

2. Создать «иммутабельность» данных

Клонирование объектов

Есть большое количество решений которые хорошо справляются с этой задачей. Среди таких решений могу посоветовать использовать библиотеки Ramda, lodash или pvorb/clone. Где есть уже готовые функци благодаря которым вы сможете легко склонить объект любой вложенности.

ImmutableJS

Неизменяемым (англ. immutable) называется объект, состояние которого не меняется после его создания. Результатом любой модификации такого объекта всегда будет новый объект, при этом старый объект не изменится. Для создания неизменяемых объектов в javascript была написана библиотека ImmutableJS.

Заключение

Сегодня мы рассмотрели такую проблему как изменяемость данных и несколько вариантов ее решения. Приятно вам покодить!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *