참조(얕은 복사)와 복사(깊은 복사)

LIM·2022년 12월 16일
0

JS 문법

목록 보기
6/8

어떤 값이 참조되는가? - 객체

왜냐? 객체는 원시값과 달리 가변적이기 때문이다. 객체의 데이터는 힙에 저장되고, 스택에는 힙의 주소값만 참조된다.
그래서 객체를 복사한다고 해도, 값 자체를 공유하는게 아니라 주소만 공유하게 되는 것이다.

==> 따라서 객체 데이터를 조작한다면, 원본 객체 자체에 변형이 일어난다. 이것이 얕은 복사다.

어떤 값이 복사되는가? - 원시값

원시값은 크기를 알 수 있다. 예를 들어 숫자 타입은 8바이트이다. 가변적이지 않기 때문에 콜스택에 저장될 수 있다.

값을 복사하면 콜스택에 따로 저장된다. 복사된 값과 원본 값은 다르다. 이는 깊은 복사라고 한다.

profile
혹시 틀린 부분이 있다면 언제든 알려주세요 😊

0개의 댓글

관련 채용 정보