구조 분해 할당

객체는 property name, 배열은 index position으로 값을 꺼내며 alias, default, rest, nested 패턴을 함께 쓸 수 있다.

패턴기준예시주의점
Object속성 이름으로 꺼냄const { name } = user속성 이름 오타
Array순서 위치로 꺼냄const [first] = list순서 의미가 불명확
Alias다른 변수명으로 받음{ name: userName }원래 이름과 새 이름 혼동
Default값이 undefined일 때 대체{ count = 0 }null에는 적용되지 않음
Rest남은 값 묶기{ id, ...rest }얕은 복사임

구조 분해는 값을 꺼내는 문법이며, 객체는 이름 기준, 배열은 위치 기준이라는 차이를 잊지 않아야 한다.