미라클 메모리

목차

JSON 직렬화, 역직렬화

const copyList = JSON.parse(JSON.stringify(diaryList));

JSON.stringify 는 자바스크립트 객체를 JSON문자열로 변환시킨다. 반대로 JSON.parse는 JSON문자열을 자바스크립트 객체로 변환킨다 JSON문자열로 변환했다가 다시 객체로 변환하기에, 객체에 대한 참조가 없어지는 것이다. 하지만 이 방법에는 2가지 문제점이 있다

  1. 다른 방법에 비해서 성능적으로 느리다는 점
  2. JSON.stringify 메소드가 function을 undefined로 처리한다는 점입니다.

lodash

const copyList = _.cloneDeep(diaryList);
  1. lodash는 많은 사람들이 사용해오고 안정성이 증명된 라이브러리다
  2. lodash는 많은 메소드들을 제공한다. deepclone메소드를 사용하면 깊은복사가 가능하다

자바스크립트 객체 복사하기