-
[면접 준비] 깊은 복사, 얕은 복사면접 준비 2024. 7. 26. 09:26
학습 키워드: deep copy, shallow copy
2024-07-25 면접 카타 질문
깊은 복사와 얕은 복사의 차이는 무엇이고 JS에서 각각을 구현하는 방법은 어떻게 되는지 설명해주세요:
얕은 복사는 각 값의 주소를 복사하는 것을 말하고, 깊은 복사는 복사하는 값을 새로운 메모리에 할당하여 완벽하게 별개의 객체를 만들어내는 것을 말합니다. JS에서는 JSON.stringify()로 원본 객체를 문자열로 치환한 뒤 다시 JSON.parse()를 사용하여 전혀 다른 메모리를 참조하는 깊은 복사가 완료된 객체를 얻을 수 있습니다. 얕은 복사의 경우 단순하게 objA = objB의 구조로 복사하면 되는데, nested object의 경우 spread 문법을 사용하면 객체의 키는 별도로, 키의 값은 얕은 복사로 진행합니다.
--
728x90'면접 준비' 카테고리의 다른 글
[면접 준비] Node.js: event loop란? (0) 2024.07.30 [면접 준비] Node.js: single-threaded, non-blocking, asynchronous 기반 JS 런타임 (0) 2024.07.29 [면접 준비] arrow function 설명, Express 설명 및 대안 (0) 2024.07.25 [면접 준비] async await 및 hoisting 설명하기 (0) 2024.07.23 [면접 준비] var, let, const 및 promise 설명 하기 (0) 2024.07.22