optional parameters

선택값과 기본값 설계

선택적 매개변수는 생략 가능성을 드러내고, 기본 매개변수는 생략되었을 때 사용할 값을 함수 선언에 고정합니다.

선택 매개변수

undefined 가능성 표시

물음표를 붙이면 호출자가 값을 생략할 수 있고 함수 내부는 누락을 고려합니다.

name?: string
기본 매개변수

생략 시 대체값

값이 없을 때 사용할 기본값을 선언부에 넣어 내부 분기 코드를 줄입니다.

count = 1
순서 규칙

필수값을 앞에 둠

선택 매개변수는 보통 필수 매개변수 뒤에 배치해야 호출이 자연스럽습니다.

(id, label?)
타입 추론

기본값에서 타입 유도

기본값이 명확하면 별도 타입 표기 없이도 매개변수 타입을 추론합니다.

mode = "light"
API 읽기 함수 선언만 보고 어떤 인자를 생략할 수 있는지 알 수 있어야 합니다.
undefined 처리 선택 매개변수는 내부에서 값 존재 여부를 확인하고 사용합니다.
호출 예시 가장 자주 쓰는 호출 형태가 간단해지도록 기본값을 선택합니다.

선택값과 기본값은 편의 문법이 아니라 함수 호출 계약을 더 유연하게 만드는 도구입니다.