더북(TheBook)

따라서 객체를 복사할 때는 내부 객체까지 복사할 건지를 생각해 봐야 합니다.

그림 2-30 배열 내부에 객체가 있는 배열을 참조할 때 메모리 구조

이러한 이유로 객체를 복사할 때는 얕은 복사와 깊은 복사가 있습니다. 얕은 복사(shallow copy)는 외부 객체만 복사되고 내부 객체는 참조 관계를 유지하는 복사를 의미합니다. 깊은 복사(deep copy)는 내부 객체까지 참조 관계가 끊기면서 복사되는 것을 의미합니다.

얕은 복사를 할 때는 ... 연산자를 사용합니다. 이 연산자를 스프레드 문법(spread syntax)이라고 합니다. 스프레드 문법은 기존 객체의 속성을 새 객체에 대입할 때 사용합니다. 배열이라면 [...배열]을 하면 되고, 객체라면 {...객체}를 하면 됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.