• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

[7-3] Shallow Copy / Deep Copy

23.05.28 13:04 작성 23.05.28 13:07 수정 조회수 381

0

강의에서는 불변성을 지키기 위해 Shallow Copy(얕은 복사)를 하신다고 하셨는데,

이는 많은 혼동을 야기하는 것 같습니다.

https://developer.mozilla.org/en-US/docs/Glossary/Shallow_copy

https://developer.mozilla.org/en-US/docs/Glossary/Deep_copy

에 따르면,

Shallow Copy 는 원본 객체의 속성과 동일한 참조를 공유하는 복사본이고

Deep Copy 는 원본 객체의 속성과 동일한 참조(동일한 기본 값을 가리킴)를 공유하지 않는 복사본이라 되어있습니다.

강사 님이 생각하시는 참조가 Shallow Copy 고,

불변성을 지키기 위해 사용하는 것이 Deep Copy 가 아닌지요?

강사님의 강의는 앞으로 개발 능력 향상에 아주 도움이 되기에, 정확한 이해를 위해 질문드려봅니다.

답변 1

답변을 작성해보세요.

0

저는 강좌에서 정확하게 설명했다고 생각하는데요. 실제로 코드도 그렇게 만들고 있고요.

일단 리액트에서는 항상 얕은 복사를 하고, 바꾸고자 하는 속성이 담긴 객체만 참조를 끊는 깊은복사를 합니다.

프로그래밍은 말보다는 코드를 보시면 됩니다.