2.16 함수와 메서드를 타이핑하자
이번 절부터는 함수 타이핑에 대해 더 자세하게 알아보겠습니다. 타입스크립트에는 함수의 매개변수를 타이핑하기 위한 다양한 문법이 준비되어 있습니다.
function example(a: string, b?: number, c = false) {}
// function example(a: string, b?: number, c?: boolean): void
example('hi', 123, true);
example('hi', 123);
example('hi');
매개변수 b를 보면 옵셔널 수식어가 붙어 있습니다. 매개변수 a는 필수로 제공해야 하지만, b는 넣어도 그만, 안 넣어도 그만이라는 뜻입니다. 매개변수 c는 기본값으로 false가 들어 있고, 타입 추론을 통해 boolean 타입이 되었습니다. 또한, 기본값이 제공된 매개변수는 자동으로 옵셔널이 됩니다.
매개변수는 배열이나 객체처럼 ...(나머지) 문법을 사용할 수 있습니다. 배열이나 객체에서의 ... 문법은 나머지 속성 문법이었고, 함수에서의 ... 문법은 나머지 매개변수 문법입니다.