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

Subscribe to flynn's devnote

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.