얕복 깊복

Bewell·2022년 11월 21일
0
post-thumbnail

알고는 있지만, 정리하지 않으면 가끔 헤갈리는 얕은복사, 깊은복사에 대해 아~~~주 간단하게 정리해보자

얕은복사

  • 메모리값을 참조하여 복사
  • Call by Reference
  • Object.assign, 전개 연산자로 사용 가능

깊은복사

  • 원복 데이터의 메모리값 참조가 완전히 끊어진 복사
  • Call by value
  • Json.parse(Json.stringify()), lodash의 cloneDeep함수 사용 가능

Redux Store와 React state의 상태 변화를 감지하는 방법은 shallow equility 이다

  • shallow equality
    객체의 reference를 비교하는 방식
    같은 객체라도 항상 다른 값으로 체크하게 된다.

  • deep equality
    객체 내부 프로퍼티의 값을 모두 비교하는 방식

const foo = {  name: 'boo'  }
const zoo = {  name: 'boo'  }

- Shallow equality관점에서는 foo와 zoo는 다른 객체
- Deep equality관점에서는 foo와 zoo는 같은 객체

0개의 댓글