Default params

기본 인자는 undefined일 때만 대체 정책을 적용한다

인자 생략, undefined 전달, 실제 값 전달은 런타임에서 서로 다른 흐름을 만든다.

1
Call
전달된 인자 개수와 위치를 확인
2
Omitted
빠진 선택 인자는 undefined로 읽힘
3
Default
값이 undefined일 때만 기본값 적용
4
Typed
선언 타입과 기본값에서 매개변수 타입 추론
점검기준
pick(items)index가 생략되어 기본값 0 사용
pick(items, undefined)undefined라서 기본값 0 사용
pick(items, 2)전달된 2를 그대로 사용

핵심 기본값은 “없으면 아무 값”이 아니라 “undefined일 때 적용되는 정책”이다.