참조 타입의 데이터는 복사 시 데이터의 값 자체가 아닌 '값이 저장된 메모리의 주소'가 저장된다.
따라서 참조 타입의 복사 방법은 얕은 복사(Shallow Copy)와 깊은 복사(deep copy)로 나뉜다.
- 얕은 복사(Shallow copy)는 데이터가 저장된 참조값(주소)를 복사한다. 즉, 데이터 자체를 복사한 것이 아니라 해당 데이터의 참조 값을 전달하여 하나의 데이터를 공유하는 것이다. ex) Object.assign(), 전개구문 모두 2차원 이상의 객체에서는 얕은 복사가 수행됨
- 깊은 복사(Deep Copy)는 새로운 메모리 공간을 확보해 데이터 자체를 완전히 복사하는 것을 의미한다. ex) JSON.parse()와 JSOM.stringify() 함수를 사용하는 방법
'HTML&CSS&Javascript 📚 > JS' 카테고리의 다른 글
[JS] base64 이미지 File 객체로 변환하기 (0) | 2023.11.30 |
---|---|
[JS Deep Dive] 24장 클로저 (0) | 2023.11.24 |
[JS] 함수 선언 방식 : 함수 표현식 & 함수 선언식 (1) | 2023.11.24 |
[JS Deep Dive] 13장 스코프 (1) | 2023.11.24 |
[JS Deep Dive] 22장 this (1) | 2023.11.24 |