Web Basic · Data Shape

구조 분해와 스프레드를 얕은 복사로 이해하기

구조 분해는 값을 꺼내는 문법이고 스프레드는 새 배열·객체를 만들기 쉬운 문법이지만, 중첩 객체까지 자동으로 복제하지는 않는다.

01

필드 선택

함수 초입에서 필요한 값만 꺼내 변수 이름을 명확히 한다.

02

기본값

없을 수 있는 필드는 기본값이나 null 처리 기준을 둔다.

03

새 객체

일부 속성을 바꾸려면 기존 객체를 펼친 뒤 변경 필드를 덮는다.

04

중첩 복사

profile.address 같은 내부 객체는 별도로 펼쳐야 참조가 바뀐다.

alias
이름 충돌 회피 { id: userId }처럼 다른 변수명으로 받음
API 필드와 앱 이름 분리
rest omit
필드 제외 password를 제외하고 safeUser를 만들 때 유용
보안은 서버에서도 확인
array spread
항목 추가·복사 [newItem, ...items]로 새 배열 생성
원본 mutate 회피
nested
깊은 값 변경 중첩 객체는 단계별로 새 참조를 만든다
structuredClone과 구분

얕은 복사 · 민감 필드 · 가독성 점검

얕은 복사 내부 객체 공유로 인한 예상 밖 변경을 확인한다.
민감 필드 rest로 제외한 값이 다시 응답에 섞이지 않는다.
가독성 한 줄 구조 분해가 과하게 길지 않다.
불변 갱신 상태 업데이트에서 원본 배열·객체를 직접 수정하지 않는다.