Function Type

함수 타입은 매개변수와 반환값의 계약을 함께 고정한다

함수를 값으로 전달할 때는 어떤 입력을 받고 무엇을 반환하는지 타입으로 명확히 표현해야 한다.

함수 타입 구성

call signature

매개변수

각 인자의 이름보다 순서와 타입이 호출 가능성을 결정한다.

반환값

함수가 돌려주는 값의 타입을 명시하면 이후 사용 코드가 안전해진다.

추론

문맥이 충분하면 TypeScript가 함수 타입을 추론하지만 공개 API는 명시가 유리하다.

콜백

함수를 인자로 받을 때는 호출자가 제공해야 하는 시그니처를 타입으로 표현한다.

parambodyreturncall
함수 타입은 매개변수와

함수 타입을 읽을 때는 구현 내부보다 “호출자가 무엇을 넣고 무엇을 기대할 수 있는가”를 먼저 본다.