JavaScript - JavaScript의 복사, 비교, 그리고 Immer
·
Frontend/Javascript
React 프로젝트에서 중첩된 객체 상태를 업데이트하다 보면 스프레드 연산자를 3~4번씩 써야 하는 상황이 온다. 그때마다 실수하기 쉽고 코드도 지저분해진다. Immer를 도입하면서 이 문제가 많이 해결됐는데, 복사와 비교의 기본 개념부터 정리해봤다. 얕은 복사 vs 깊은 복사얕은 복사의 함정스프레드 연산자로 복사하면 최상위 속성만 새로 생성된다. 내부 객체나 배열은 여전히 원본과 같은 참조를 공유한다.const original = { name: "John", skills: ["JavaScript", "React"] };const shallowCopy = { ...original };shallowCopy.name = "Jane";shallowCopy.skills.push("Node.js")..