const a = {
en: 'Bye',
de: 'Tschüss'
}
let b = {... a};
b.de = 'Ciao'
console.log(a)
console.log(b)
const c = {...b, ...a} //Spread Operator 뿌리는 순서가 중요
console.log(c)
//Spread Operator Shallow Copy vs Deep Copy
Spread Operator는 Deep Copy를 만들어준다 하지만 데이터가 nested 되어 있을 경우에는 nested data는 shallow copy가 된다.
따라서 nested 되어있는 부분도 deep copy 하려면
{...a, b: {...b.foods}}이런식으로 또 한번의 Spread Operator를 행해 주어야 한다