📣언어/JavaScript

[JavaScript] 데이터 불변성, 얕은 복사, 깊은 복사

ye3_ 2022. 3. 23. 20:02

데이터 불변성

  • 원시 데이터 : String, Number, Boolean, undefined, null
  • 참조 데이터 : Object, Array, Function

 

const user = {
	id: 123,
    emails: ['abc@gmail.com']
}

얕은 복사 : 내부의 또 다른 참조 데이터는 복사 안됨

// assign() 이용
const copyUser = Object.assign({}, user)

// 전개연산자 이용
const copyUser = {...user}

 

깊은 복사 : 참조 데이터까지 복사

// lodash 이용
import _ from lodash
const copyUser = _.cloneDeep(user)