앝은 복사(Shallow Copy) - 참조형의 1차원 데이터만 복사
깊은 복사(Deep Copy) - 참조형의 모든 차원의 데이터를 복사
Object.assign(빈 객체, 복사하고 싶은 객체)이나 전개 연산자로 얕은 복사를 할 수 있다.
그러나 얕은 복사는 1차원의 데이터만 복사하기 때문에, 고차원의 데이터는 같은 주소를 참조하게 된다.
그렇기 때문에 깊은 복사를 하여 완전히 데이터를 분리해주어야한다.
깊은 복사는 고차원의 데이터도 다른 메모리 주소에 값을 저장하기 때문에, 완전하게 연결고리를 끊었다고 할 수 있다.
배열은 복사하고 싶은 배열.concat(빈 배열)이나 전개 연산자로 얕은 복사를 할 수 있다.
객체와 원리는 같다.
깊은 복사를 위해서는 lodash의 cloneDeep을 사용하자!
'카카오테크캠퍼스 > 선택과정' 카테고리의 다른 글
[카카오테크캠퍼스 선택과정] JavaScript 마스터: 클로저 (0) | 2023.05.25 |
---|---|
[카카오테크캠퍼스 선택과정] JavaScript 마스터: 가비지 컬렉션 (0) | 2023.05.25 |
[카카오테크캠퍼스 선택과정] JavaScript 마스터: 불변성과 가변성 (0) | 2023.05.25 |
[카카오테크캠퍼스 선택과정] JavaScript 마스터: Symbol, BigInt (0) | 2023.05.25 |
[카카오테크캠퍼스 선택과정] JavaScript 마스터: Web APIs (0) | 2023.05.24 |