Object.assign() - 열거가능한 모든 프로퍼티 복사
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
Object.assign() - JavaScript | MDN
The Object.assign() method copies all enumerable own properties from one or more source objects to a target object. It returns the target object.
developer.mozilla.org
Immutable.js같은걸 항상 도입할 수 있는 것은 아니다. 그렇기때문에 그런걸 쓰지 않고도 Data를 copy해야할때가 있는데 열거가능한 모든 프로퍼티를 복사할때 Object.assign()을 사용할 수 있다.
https://stackoverflow.com/questions/34504682/js-does-object-assign-create-deep-copy-or-shallow-copy
JS: Does Object.assign() create deep copy or shallow copy
I just came across this concept of var copy = Object.assign({}, originalObject); which creates a copy of original object into the "copy" object. However, my question is, does this way of cloning
stackoverflow.com
하지만 Object.assign()은 Deep Copy를 하는 것은 아니고, Shallow Copy를 하는 것이고, 프로퍼티의 enumerable 속성이 false로 설정되어있으면 사용이 불가하다.
그리고 prototype같은 것들은 copy되지 못한다.
const original = { a: 1, b: 2 };
const copy = Object.assign({}, original)
Original Object의 열거가능한 Property가 복사 된다.