lodash를 이용한 깊은 복사

이세령·2024년 8월 23일
0

기록

목록 보기
5/5
  • 기존 코드
const usageChartSrc = JSON.parse(JSON.stringify(this.usageChartSrc))
  • 변경 코드
import _ from 'lodash'
const usageChartSrc = _.cloneDeep(this.usageChartSrc)

깊은 복사를 사용하는 코드에서 value: undefined 요소 자체가 사라지는 것을 확인하였다.
JSON.parse(JSON.stringify()) 방식은 깊은 복사에 자주 사용하지만, undefined, functions, symbols 요소의 경우 JSON으로 직렬화 할 수 없기 때문에 무시되거나 손실될 수 있다.

찾은 해결방안 중에 가장 간단한 방법은 lodash 라이브러리에 cloneDeep 메서드를 활용하는 것이였다.
마침 기존에 lodash를 사용하고 있었기 때문에 간단하게 문제를 해결할 수 있었다.

profile
https://github.com/Hediar?tab=repositories

0개의 댓글