dev.syw
JavaScript

얕은 복사와 깊은 복사의 차이는?

얕은 복사는 한 단계만, 깊은 복사는 중첩된 내부까지 모두 복제합니다.

얕은 복사(스프레드, Object.assign)는 최상위 값만 복사하고 중첩 객체는 참조를 공유해 함께 바뀝니다. 깊은 복사는 중첩까지 완전히 분리합니다. structuredClone이나 재귀 복사로 구현하는데, structuredClone은 함수·DOM 노드를 복사하지 못하고 클래스 프로토타입도 보존하지 않는 한계가 있습니다.

핵심 포인트

← 기술 면접 질문 전체 보기