TS. 타입스크립트에서의 함수

타입스크립트에서의 함수

타입스크립트에서 함수는 크게 3가지 타입으로 정의할 수 있다.

  • 함수의 파라미터(매개변수) 타입
  • 함수의 반환 타입
  • 함수의 구조 타입

함수의 기본 타입 선언

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

위 선언된 함수는 매개변수반환 값에 대한 타입을 정의한 것 이다.

함수의 반환 값에 타입을 정하지 않을 때는 void를 사용한다.

함수의 인자

타입스크립트에서는 함수의 인자를 모두 필수 값으로 간주하기에 함수의 매개변수를 설정하면 undefinednull이라도 인자로 넘겨야한다. 컴파일러에서는 정의된 매개변수 값이 넘어 왔는지 확인하며, 정의된 매개변수 갯수 만큼 인자를 받을 수 있다.

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

sum(10, 20);  // 30
sum(10, 20, 30);  // error, too many parameters
sum(10);  // error, too few parameters

자바스크립트와 다르게 정의되지 않은 매개변수의 갯수 만큼 인자를 넘기지 않기에, 이러한 특성을 살리고자 한다면 ?를 사용하여 정의할 수 있다.

function sum(a: number, b?: number): nunmber {
  return a + b;
}

sum(10, 20);  // 10
sum(10, 20, 30);  // error, too many parameters
sum(10);  // 10

REST 문법이 적용된 매개변수

function sum(a: number, ...nums: number[]): number {
  const totalNums = nums.reduce((total, cur) => { return total + cur; }, 0);
  return a + totalNums;
}

Reference

타입스크립트 공식문서 Inflearn - TypeScript for Beginners


Written by@Jkun
...

GitHub