
지난번에 Copy 관련하여 글을 작성했었다.
https://velog.io/@changyon99/JS-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0...Copy
그 당시에는 내가 알던 개념과 조금 다른 느낌이라 'JS와 다른 언어는 개념적으로 다르구나~'하고 넘어갔었다!
하지만 그건 나의 착각이였던 것이다.
JS에서의얕은 복사와깊은 복사는 다른 언어와는 달라~~
참조형 데이터안에 있는 한단계 아래 있는 것만 복사하는 걸얕은 복사라 칭하는 거야~~- 모든 데이터에 대해서 변수값을 저장하는 것을
깊은 복사라고 하는 것이야~~
그러나 실제로는
원시값 복사
- 원시값에 대해선
얕은 복사나깊은 복사나 변수 값에 대해서 복사를 한다- 그래서 굳이 구분할 필요도 없음
참조값 복사
얕은 복사- 주소를 복사깊은 복사- 주소 안에 있는 변수 값을 복사
또한 MDN 공식 문서에서는
원시 데이터와 참조 데이터를 괜히 구분지어 설명하는 것이 아니였다.
덕분에 개념적으로 아주 잘 정리할 수 있었다.
복사로 인한 내 고민이 어느 정도 줄게된 계기였다.
기술관련 내용에 대해서는 조금 더 신중해질 필요가 있다.