JavaScript

얕은 복사와 깊은 복사

youngseokim_kr 2021. 10. 24. 16:12
import _ from 'lodash'
const user = {
  name:'Heropy',
  age:85,
  emails:['thesecon@gmail.com']
}
//const copyUser = user 이렇게 하면 log 값이 둘다 22로 바뀜
//const copyUser = Object.assign({}, user)  //복사
const copyUser={...user}//전개해서 집어넣는다 [얕은 복사]

//const copyUser=_.cloneDeep(user) //깊은 복사 lodash를 이용 반복실행하면서 모든걸 복사

console.log(copyUser === user)

user.age = 22
console.log('user',user)  //{name: 'Heropy', age: 22, emails: Array(1)}
console.log('copyUser',copyUser)  //{name: 'Heropy', age: 85, emails: Array(1)}

user.emails.push('neo@zillinks.com')
console.log(user.emails === copyUser.emails)  //true
console.log(user)
console.log(copyUser)

'JavaScript' 카테고리의 다른 글

lodash 매소드[uniqBy, unionBy, find, findIndex, remove]  (0) 2021.10.25
가져오기 내보내기  (0) 2021.10.25
데이터 불변성  (0) 2021.10.24
전개 연산자  (0) 2021.10.24
구조 분해 할당  (0) 2021.10.24