Params
호출 인자는 필수, 선택, 기본값, 나머지로 처리 규칙이 갈린다
매개변수 문법은 호출자가 무엇을 생략할 수 있고 함수가 어떤 값을 대신 넣는지 드러낸다.
name: T
반드시 전달해야 함
name?: T
없을 수 있어 undefined 처리 필요
name = value
생략 또는 undefined일 때 기본값 사용
...items: T[]
개수 가변 인자를 배열로 수집
| 상황 | 판단 |
|---|---|
| 필수 값 | 없으면 함수 의미가 깨지는 식별자 |
| 부가 옵션 | 없을 수 있음을 타입에 표시 |
| 여러 옵션 | 위치 인자보다 객체 옵션으로 이동 |
핵심 선택 인자가 늘어나면 호출부가 흐려지므로 객체 옵션을 검토해야 한다.