본문 바로가기

프론트엔드 공부/javscript

참조형데이터의 복사 : Object.assign(), spread 연산자, lodash

//참조형 데이터의 복사 
//: 얕은복사(shallow):Object.assign(), spread연산자
//: 깊은복사(deep) : 자바스크립트로 구현하기 복잡하여 lodash npm 사용

const user = {
  name :'minji',
  age:31,
  emails : ['minji@gmail.com']
}
// const copyUser = user
// console.log(copyUser === user) //true
// user.age = 22
// console.log(copyUser === user) //true

//Object.assign({},)
// const copyUser = Object.assign({},user)
// console.log(copyUser === user) //false

//{...spread}
// const copyUser = {...user}
// console.log(copyUser === user) //false

//배열안의 배열, 객체안의 배열 등 2중 이상의 참조형 데이터의 경우
//lodash로 깊은 복사를 하여 데이터 복제를 해야한다.