더북(TheBook)

2.18 콜백 함수의 매개변수는 생략 가능하다

이 절에서는 함수가 콜백 함수로 사용될 때 발생하는 타입스크립트의 특징에 대해 알아보겠습니다. 다음 예제를 봅시다.

function example(callback: (error: Error, result: string) => void) {}
example((e, r) => {});
example(() => {});
example(() => true);

example 함수는 콜백 함수를 매개변수로 가지는 함수입니다. 콜백 함수의 매개변수인 errorresult는 각각 Error, string 타입입니다(이 둘은 undefined가 아닙니다. 이 점을 기억해두세요).

example 함수를 호출할 때 다양한 특징을 발견할 수 있습니다. 먼저 example 함수를 호출할 때 인수로 (e, r) => {} 콜백 함수를 제공했는데 er 매개변수에는 타입을 표기하지 않았습니다. 기본적으로 함수의 매개변수에는 타입을 표기해야 한다고 배웠습니다. 그렇지 않으면 에러가 발생하기 때문입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.