본문 바로가기

프론트엔드관련 책예제실습정리/javascript 사전적 정의모음

객체의 얕은복사(shallow copy) 와 깊은복사(deep copy) / lodash 사용

/*얕은 복사와 깊은복사 
얕은 복사(한단계): 객체를 프로퍼티 값으로 갖는 객체
깊은복사(객체에 중첩된 객체까지 복사)
*/
{
const o = {x:{y:1}}

//1. 얕은복사
const c1 = {...o}
console.log(c1 === o )  //false
console.log(c1.x === o.x) //true
  }

//2.깊은복사
/*lodash의 cloneDeep 사용
npm i lodash설치후 node.js에서 실행*/
{
  const o = {x:{y:1}}
const  = require('lodash')
const c2 = _.cloneDeep(o);
console.log(c2===o)//false
console.log(c2.x === o.x)//false
  }