Default params
기본 인자는 undefined일 때만 대체 정책을 적용한다
인자 생략, undefined 전달, 실제 값 전달은 런타임에서 서로 다른 흐름을 만든다.
Call
전달된 인자 개수와 위치를 확인
Omitted
빠진 선택 인자는 undefined로 읽힘
Default
값이 undefined일 때만 기본값 적용
Typed
선언 타입과 기본값에서 매개변수 타입 추론
| 점검 | 기준 |
|---|---|
| pick(items) | index가 생략되어 기본값 0 사용 |
| pick(items, undefined) | undefined라서 기본값 0 사용 |
| pick(items, 2) | 전달된 2를 그대로 사용 |
핵심 기본값은 “없으면 아무 값”이 아니라 “undefined일 때 적용되는 정책”이다.