옵셔널 파라미터는 ?로 표기합니다. 선택적으로 사용하고 싶은 파라미터의 오른쪽에 다음과 같이 ?를 붙이면 됩니다.
function sayMyName(firstName: string, lastName?: string): string {
return 'my name : ' + firstName + ' ' + lastName;
}
이 함수는 두 번째 파라미터에 ?를 붙여서 옵셔널 파라미터로 정의했습니다. 따라서 두 번째 파라미터인 lastName은 호출할 때 넘겨도 되고 넘기지 않아도 됩니다. 다음과 같이 말이죠.
▲ 그림 3-6 두 번째 인자가 생략되었지만 나타나지 않는 타입 에러
이제는 sayMyName 함수를 호출할 때 두 번째 인자를 넘기지 않아도 타입 에러가 발생하지 않습니다. 이처럼 옵셔널 파라미터를 이용하면 함수에 인자를 선택적으로 넘길 수 있습니다.