Я пытаюсь понять, как использовать Immutables в JavaScript/TypeScript, не тратя весь день на это. Я не совсем готов погрузиться в Immutable.js, потому что он, кажется, оставляет вас сухим и высоким, насколько это безопасно.Обновления и коллекции в JavaScript
Итак, давайте возьмем пример, где у меня есть массив, в котором все элементы имеют тип MyType. В моем классе у меня есть метод, который ищет массив и возвращает копию соответствующего элемента, поэтому мы не редактируем оригинал. Скажите теперь, что в более позднее время мне нужно посмотреть и посмотреть, находится ли объект в массиве, но у меня есть копия, а не оригинал.
Каков стандартный метод обработки этого? Любой метод, который я могу решить, чтобы определить, есть ли у меня этот элемент, будет принимать какую-то форму цикла через коллекцию и посещать каждый элемент, а затем выполнять неуклюжее совпадение равенства, независимо от того, превращает ли это их в строки или использует третий, партийной библиотеки.
Я хотел бы использовать Immutables, но я постоянно сталкиваюсь с такими ситуациями, которые делают их очень непривлекательными. Что мне не хватает?
Вы не вернете копию объекта в своем массиве. Вы вернете объект. Если вам позже понадобилось изменить его, вместо этого вы сделаете копию с необходимыми изменениями. – SimpleJ
Предполагая, что объект в массиве неизменен, зачем вы его копируете? – Bergi
Тогда это ставит ответственность за код клиента за использование объекта, который он получил должным образом, что кажется неразумным. Это мой собственный проект, поэтому, конечно, это вариант, который у меня открыт, но в более крупном проекте с несколькими разработчиками это не кажется хорошей идеей. –