함수 타입 - 함수와 타입

함수의 타입을 정의하는 방법

다음과 같은 자바스크립트 함수가 있을 때, 이 함수를 다른 사람에게 설명하는 가장 좋은 방법은

이 함수가 어떤 매개변수를 받고 어떤 값을 반환 하는지 이야기 하는 것 입니다.

// 함수를 설명하는 가장 좋은 방법
// 어떤 매개변수를 받고, 어떤 결과값을 반환하는지 설명
function func(a, b) {
  return a + b;
}

그럼 타입스크립트에서는 어떨까요? 자바스크립트에서 함수를 소개하는 방식과 비슷합니다. 대신 타입만 추가되면 됩니다. 어떤 타입의 매개변수를 받고, 어떤 타입의 값을 반환하는지 이야기 하면 됩니다.

따라서 함수의 타입은 다음과 같이 매개 변수와 반환값의 타입으로 결정됩니다.

function func(a: number, b: number): number {
  return a + b;
}

참고로 함수의 반환값 타입은 자동으로 추론되기 때문에 다음과 같이 생략해도 됩니다.

function func(a: number, b: number) {
  return a + b;
}

화살표 함수 타입 정의하기

화살표 함수의 타입 정의 방식은 다음과 같습니다. 함수 선언식과 동일합니다.

const add = (a: number, b: number): number => a + b;

화살표 함수 역시 반환값의 타입은 자동으로 추론됩니다.