본문 바로가기
Programming/JS & TS

[JavaScript] 얕은 복사(Shallow Copy)와 깊은 복사(Deep Copy)

by 강한수달 2021. 12. 10.

얕은 복사(shallow copy)

- 원본 객체를 복사하여 복사된 객체를 생성

- 복사된 객체는 원본 객체와 동일한 메모리 주소를 참조

- 따라서, 원본 객체의 값 변경 시 복사된 객체 값도 변경

 

변수 a의 값 변경이 변수 b에도 영향을 끼침

 

깊은 복사(deep copy)

- 객체를 복사 할 때 메모리 주소가 아닌 값을 복사함

- 이후 복사한 객체의 변경되어도 서로에게 영향을 주지 않음

 

변수 a의 값 변경에도 변수 b 는 영향없음

 

 

얕은 복사, 깊은 복사 차이점

 

 

깊은 복사(Deep Copy) 하는 방법

1. JSON 객체 이용

2. 반복문 이용

3. Object.assign 메서드 이용

댓글