[멋사] -js 내장객체 object

밥슌·2025년 4월 30일
0

☕❌js

목록 보기
15/15

  • const haru2 = haru;얕은 복사(X)참조 복사
  • const haru3 = Object.assign({}, haru); 또는 { ...haru }얕은 복사(O)

    JavaScript 자체 내장 메서드로는 진정한 깊은 복사(deep copy)는 제공되지 않음! (라이브러리를 사용하거나 로데쉬..., json을 통해 부분적으로 구현 가능하긴함


haru2 = haru;

  • 같은 객체를 가리키는 참조 복사
  • 그래서 haru.age++ 하면 haru2.age도 같이 바뀝니다.
const haru2 = haru;
haru.age++; // haru2.age도 같이 증가함

Object.assign({}, haru) 또는 { ...haru }

  • 얕은 복사(shallow copy)
    +)
  • haru 객체의 최상위 속성만 새 객체로 복사
  • 중첩 객체가 있다면 그 안은 참조로 복사

예시:

const haru = { name: '하루', age: 5, pet: { type: 'dog' } };
const copy = { ...haru };
copy.pet.type = 'cat';
console.log(haru.pet.type); // 'cat' (내부 객체는 공유됨)

정리하면:

복사 방법복사 종류중첩 객체까지 복사?
haru2 = haru참조 복사X (같은 객체 공유)
Object.assign({}, haru)얕은 복사X
{ ...haru }얕은 복사X
JSON.parse(JSON.stringify())깊은 복사O (단점 있음)
lodash.cloneDeep()깊은 복사O
profile
마트 시식코너같은 저의 벨로그에 어서오세요.

0개의 댓글