JS. 얕은 복사 & 깊은 복사

김승주·2023년 5월 15일
0

JS/심화 학습

목록 보기
3/6

JS 심화 학습

얕은 복사 & 깊은 복사

얕은 복사

참조형은 가변성으로 인해, 데이터를 복사할 때 주의가 필요합니다.

얕은 복사(Shallow Copy) - 참조형의 1차원 데이터만 복사

const a = { x: 1}
const b = Object.assign({}, a)
// const b = { ...a} 전개연산자도 사용 가능

b.x = 2

console.log(b)      // {x: 2}
console.log(a)      // {x: 1}

깊은 복사(Deep Copy) - 참조형의 모든 차원 데이터를 복사

import cloneDeep from 'lodash/cloneDeep'

const a = { x: {y: 1}}
const b = cloneDeep(a)

b.x.y = 2

console.log(b)     // x: {y: 2}
console.log(a)     // x: {y: 1}

0개의 댓글