구조 분해 할당
객체는 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 } | 얕은 복사임 |
구조 분해는 값을 꺼내는 문법이며, 객체는 이름 기준, 배열은 위치 기준이라는 차이를 잊지 않아야 한다.