스프레드 연산자 : ES6 문법에서 배열, 객체 등의 개별 요소를 각각 복사해와 분리해주는 메서드
배열에서 스프레드 연산자 사용하기
객체에서의 스프레드 연산자 사용하기
얕은 복사
- 중첩 객체에서 발생
- 중첩객체를 복사할 경우 그 값의 메모리 주소를 참조해오는 것 (할당된 value 자체 ❌ )
- 따라서, 메모리 주소가 같기 때문에 사본을 수정하면 원본도 수정됨
깊은 복사
- 원본 객체에 할당된 value 자체를 복사하여 사본 객체에 새로 할당
- 사본을 수정해도 메모리 주소가 서로 다르기 때문에 원본 수정 ❌
중첩 객체의 깊은 복사
- 중첩 객체의 key,value를 스프레드를 이용해서 복사하기