Param design
선택적 매개변수는 없음 가능성, 기본값은 생략 정책이다
문법 모양보다 호출자가 무엇을 생략할 수 있고 함수가 어떤 값을 대신 넣는지를 구분해야 한다.
| 질문 | 판정 |
|---|---|
| 값이 반드시 필요한가? | userId처럼 없으면 의미가 깨지는 값은 required |
| 없어도 안전한 대표값이 있는가? | limit = 20처럼 default 사용 |
| 없을 수 있음을 드러내야 하나? | memo?: string처럼 optional 사용 |
| 선택값이 여러 개인가? | 위치 인자 대신 options 객체로 묶음 |
| 기준 | 해석 |
|---|---|
| name: T | 항상 필요 |
| name?: T | 없을 수 있음 |
| name = value | 생략 시 정책 있음 |
핵심 optional은 가능성을 표현하고 default는 정책을 표현한다.