Param design

선택적 매개변수는 없음 가능성, 기본값은 생략 정책이다

문법 모양보다 호출자가 무엇을 생략할 수 있고 함수가 어떤 값을 대신 넣는지를 구분해야 한다.

질문판정
값이 반드시 필요한가?userId처럼 없으면 의미가 깨지는 값은 required
없어도 안전한 대표값이 있는가?limit = 20처럼 default 사용
없을 수 있음을 드러내야 하나?memo?: string처럼 optional 사용
선택값이 여러 개인가?위치 인자 대신 options 객체로 묶음
기준해석
name: T항상 필요
name?: T없을 수 있음
name = value생략 시 정책 있음

핵심 optional은 가능성을 표현하고 default는 정책을 표현한다.