2.18 콜백 함수의 매개변수는 생략 가능하다
이 절에서는 함수가 콜백 함수로 사용될 때 발생하는 타입스크립트의 특징에 대해 알아보겠습니다. 다음 예제를 봅시다.
function example(callback: (error: Error, result: string) => void) {}
example((e, r) => {});
example(() => {});
example(() => true);
example 함수는 콜백 함수를 매개변수로 가지는 함수입니다. 콜백 함수의 매개변수인 error와 result는 각각 Error, string 타입입니다(이 둘은 undefined가 아닙니다. 이 점을 기억해두세요).
example 함수를 호출할 때 다양한 특징을 발견할 수 있습니다. 먼저 example 함수를 호출할 때 인수로 (e, r) => {} 콜백 함수를 제공했는데 e와 r 매개변수에는 타입을 표기하지 않았습니다. 기본적으로 함수의 매개변수에는 타입을 표기해야 한다고 배웠습니다. 그렇지 않으면 에러가 발생하기 때문입니다.