참조, 얕은 복사, 깊은 복사

Web Development assistant·2022년 2월 7일
0

# javascript

목록 보기
14/36
const arr = [1,2,3,4];
const arrCj = arr; 				//참조 : 하나를 바꾸면 원본도 바뀜
const arrThineCopy = [...arr];	//얕은 복사 : 원시 값들은 분리가 되는데, 그 안에 있는 객체들은 참조관계처럼 따라감
const arrDeepCopy = JSON.parse(JSON.stringify(arr));	//완전 별개로 취급이 된다.

JSON.parse(JSON.stringify()); 와 같은 방식으로
깊은 복사를 할 경우
성능도 느리고 함수나 Math, Date 같은 객체를 복사할 수 없다고 한다.
따라서 실무에선 lodash같은 라이브러리를 사용하곤 한다.

또한 arr.slice(); 함수 역시 대표적 얕은 복사

arr.slice(); 또는 [...arr];

0개의 댓글