공부/JavaScript
객체 병합
무심한고라니
2023. 4. 11. 16:20
앞서 전개구문[1]을 통한 객체 병합에 대해 살펴보았다. 다음 예를 살펴보자.
분명히 복사를 했는데, 기존 객체(store)의 변경이 복사본(copy)에도 영향을 미치고 있다. 이는 전개구문을 통한 복사가 얕은 복사[3]이기 때문이다.
따라서 위처럼 2-Depth의 요소를 재할당해주는 방식으로 복사해야 한다. 외에도 JSON 내장 객체나 lodash 라이브러리를 통해 깊은 복사를 할 수 있다.
------
1. 원 객체를 변화시키지 않기 위해[2] 전개구문을 사용한다.
2. 불변성을 위해 배열의 경우 concat, filter, map 등의 함수를 이용한다.
3. 얕은 복사의 방법에는 전개구문 외 Object.assign을 사용할 수도 있다.