/ javascript

object copy in javascript

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.assignObject.freese 상태도 복사하기 때문에 나는 가장 아래 방법을 선호한다.