Apollo query의 결과가 Object.freese 형태로 넘기기 때문에 값을 받아서 수정해야 하는 이슈가 발생했다.
새로운 객체를 깔끔하게 생성하는 방법을 찾은 것을 공유한다.
// lodash or underscore
target = _.clone(source)
// ES5
target = JSON.parse(JSON.stringify(source))
// ES6+
target = Object.assign(source)
// ES6+
target = {... source}
Object.assign은Object.freese 상태도 복사하기 때문에 나는 가장 아래 방법을 선호한다.