Арвинд Падманабхан Спасибо за ваши ценные комментарии.

Неизменные средства, которые не меняются с течением времени. В Javascript все пользовательские типы данных по умолчанию изменяемы.

const nameArray = ['Алекс', 'Шейх', 'Рамеш'];

const copyArray = nameArray;

copyArray.push('Суреш');

console.log(nameArray); //[‘Алекс’, ‘Шейх’, ‘Рамеш’, ‘Суреш’]

Мы изменили copyArray, но он меняет скопированный массив.

Если мы сделаем, как показано ниже:

const copyArray = […nameArray];

copyArray.push('Суреш');

console.log(nameArray); //[‘Алекс’, ‘Шейх’, ‘Рамеш’]

Здесь nameArray не меняется.

Скажите, пожалуйста, здесь мы не добиваемся неизменности? Это просто расширяет nameArray? Разве это не создание совершенно новой копии?

ImmutableJS — это постоянная структура данных. Он хранит предыдущие версии самого себя. Всякий раз, когда происходят какие-либо изменения, он создает эту измененную часть заново, но пересечение является общим для них. Это позволяет избежать дорогостоящего клонирования. Эта стратегия называется структурным разделением.

Если мы используем immutableJS здесь, он создаст новый «Суреш» и разделит остальную часть структуры с новым объектом.

Я не уверен в «распаковке» в Python.