Поскольку присвоение структур данных указывает на одно и то же пространство в памяти, если у вас есть две переменные, ссылающиеся на один и тот же массив, изменение одной переменной изменит другую.То есть:
, если x = [1, 2, 3]
и y = x
, то мы говорим, что x.push(5)
y
также будет иметь эти 5, потому что они указывают на один и тот же экземпляр.Если вы используете [...x]
, вы создаете копию x.Он потребляет O (n) памяти, новую ссылку.Таким образом, если x изменяется, y не будет затронут.
спреды чистые и аккуратные, но у них есть накладные расходы.Они будут влиять на производительность, если используются с очень большим набором данных.