개요
자바스크립트는 근본적으로 깊은 복사가 불가능하다.
이를 해결하기 위해 아래와 같은 짓을 한다.
기초적 방법
let tempJson = JSON.parse(JSON.stringify(json));
위 방법이 깊은 복사를 하기 위한 가장 기초적인 방법이다. 배열은 slice로도 깊은 복사가 가능하다. (1 depth 배열인 경우)
그러나, 객체인 경우는 위 방식을 택하거나, 현재 기준으로 2가지 라이브러리를 사용하는 방법이 있다.
Lodash 와 Ramda
깊은 복사를 할 수 없어서 만들어진 라이브러리인데, 기본적으로 처리하는 방식은 같은 것으로 보인다.
(자바스크립트의 언어적 특성 때문에 이런 돌려차리를 해야 한다는 게 우습긴하다.)
자세한 내용은 아래 출처를 이용합시다.
출처:
'Javascript > Basic' 카테고리의 다른 글
[JavaScript] 자바스크립트 배열 추가, 삭제 방법 (push, pop, splice) [펌] (0) | 2021.05.28 |
---|---|
[javascript] try..catch & 에러 핸들링 (0) | 2021.05.27 |
[Basic] 특정 기간 내 배너 띄우기, 현재 시각 확인 하기 (0) | 2021.05.21 |
[javascript] reference 사이트 (0) | 2021.04.09 |
[javascript] 프로토타입으로 생긴 특징들.. (prototype based programming) (0) | 2021.04.09 |
[javascript] class 문법 - super() 정의 (0) | 2021.04.07 |
[Dev] CallBack 콜백함수 (0) | 2021.03.29 |
댓글