인프런 커뮤니티 질문&답변

seodev님의 프로필 이미지
seodev

작성한 질문수

웹 게임을 만들며 배우는 React

7-3. action 만들어 dispatch 하기

[7-3] Shallow Copy / Deep Copy

작성

·

420

·

수정됨

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

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

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

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

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

seodev님의 프로필 이미지
seodev

작성한 질문수

질문하기