list.splice(index, 1);
=>
list
.slice(0, index)
.concat(list.slice(index+1));
=>
[
...list.slice(0, index),
...list.slice(index+1)
];
list[index]++
=>
list
.slice(0, index)
.concat([list[index]+1])
.concat(list.slice(index+1))
=>
[
...list.slice(0, index),
list[index] + 1,
...list.slice(index+1)
];
{
id: todo.id,
text: todo.text,
completed: !todo.completed
}
=>
Object.assign({}, todo, {
completed: !todo.completed
});
=>
{
...todo,
completed: !todo.completed
}