FUNCTION TYPES

함수 타입은 입력과 출력의 약속을 코드에 남긴다

타입스크립트의 함수 정의는 매개변수 타입과 반환 타입을 함께 선언한다. 이 약속 덕분에 잘못된 인자, 빠진 반환값, 맞지 않는 함수 표현식을 실행 전에 발견할 수 있다.

Parameters Return Alias
입력 x: number처럼 매개변수 옆에 타입을 둔다
출력 ): number처럼 반환 타입을 명시한다
없음 반환값이 없으면 void를 사용한다

함수 시그니처는 호출 가능한 모양 정의

인자의 타입, 개수, 반환 타입이 맞아야 안전하게 호출할 수 있다.

입력

add(x: number, y: number)

함수가 받을 수 있는 인자의 타입과 개수를 제한한다.

계산

함수 본문

타입이 보장된 값으로 내부 로직을 작성한다.

출력

): number

호출자가 어떤 타입의 결과를 받는지 미리 알 수 있다.

재사용 가능한 함수 타입 계약

함수 표현식, 화살표 함수, 콜백이 같은 모양을 공유할 때 타입 별칭이 읽기 쉽다.

직접 선언 function add(a: number, b: number): number처럼 함수 옆에 바로 쓴다.
타입 별칭 type Calc = (a: number, b: number) => number로 모양을 이름 붙인다.
오류 차단 add("1", 2)나 문자열 반환처럼 계약과 다른 사용을 컴파일 단계에서 막는다.