Javascript/Basic
[Basic] 깊은 복사, 얕은 복사 shallow copy, deep copy, slice, JSON.parse, JSON.stringify
yoonjong Park
2021. 5. 20. 12:50
개요
자바스크립트는 근본적으로 깊은 복사가 불가능하다.
이를 해결하기 위해 아래와 같은 짓을 한다.
기초적 방법
let tempJson = JSON.parse(JSON.stringify(json));
위 방법이 깊은 복사를 하기 위한 가장 기초적인 방법이다. 배열은 slice로도 깊은 복사가 가능하다. (1 depth 배열인 경우)
그러나, 객체인 경우는 위 방식을 택하거나, 현재 기준으로 2가지 라이브러리를 사용하는 방법이 있다.
Lodash 와 Ramda
깊은 복사를 할 수 없어서 만들어진 라이브러리인데, 기본적으로 처리하는 방식은 같은 것으로 보인다.
(자바스크립트의 언어적 특성 때문에 이런 돌려차리를 해야 한다는 게 우습긴하다.)
자세한 내용은 아래 출처를 이용합시다.
출처: