[JS] 얕은 복사, 깊은 복사 그리고 스프레드 연산자

은채·2022년 5월 27일
0

JavaScript

목록 보기
5/26
post-thumbnail

스프레드 연산자 : ES6 문법에서 배열, 객체 등의 개별 요소를 각각 복사해와 분리해주는 메서드

배열에서 스프레드 연산자 사용하기

객체에서의 스프레드 연산자 사용하기

얕은 복사

  • 중첩 객체에서 발생
  • 중첩객체를 복사할 경우 그 값의 메모리 주소를 참조해오는 것 (할당된 value 자체 ❌ )
  • 따라서, 메모리 주소가 같기 때문에 사본을 수정하면 원본도 수정됨

깊은 복사

  • 원본 객체에 할당된 value 자체를 복사하여 사본 객체에 새로 할당
  • 사본을 수정해도 메모리 주소가 서로 다르기 때문에 원본 수정 ❌

중첩 객체의 깊은 복사

  • 중첩 객체의 key,value를 스프레드를 이용해서 복사하기
profile
반반무마니

0개의 댓글