Это предназначено для Javascript ES6 Spread Operator? - PullRequest
0 голосов
/ 19 апреля 2020

Я не знаю, предназначено ли это или ошибка.

Я произношу массив и затем обновляю его свойство, но исходный массив все еще получает изменения. Но неизменные пользователи не должны быть изменены правильно? Впервые столкнулся с такой проблемой с оператором спреда.

const immutableUsers = [{ user: "james", item: [] }, { user: "rick", item: [] }];

const spreadUsers = [...immutableUsers];

const user = spreadUsers[0];
user.item.push(1);
// user.item.splice(0,0,1);
console.log(spreadUsers);

console.log(immutableUsers);
// expected [{ user: "james", item: [] }, { user: "rick", item: [] }]
// actual  [{ user: "james", item: [1] }, { user: "rick", item: [] }]

Codesandbox

...