-
카테고리
-
세부 분야
프론트엔드
-
해결 여부
미해결
[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 가 아닌지요?
강사님의 강의는 앞으로 개발 능력 향상에 아주 도움이 되기에, 정확한 이해를 위해 질문드려봅니다.
답변을 작성해보세요.
0
조현영
지식공유자2023.05.28
저는 강좌에서 정확하게 설명했다고 생각하는데요. 실제로 코드도 그렇게 만들고 있고요.
일단 리액트에서는 항상 얕은 복사를 하고, 바꾸고자 하는 속성이 담긴 객체만 참조를 끊는 깊은복사를 합니다.
프로그래밍은 말보다는 코드를 보시면 됩니다.
답변 1