타입스크립트에서의 함수

posinity·2023년 6월 12일
0

Typescript

목록 보기
4/8

함수의 기본적인 타입 선언

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

위 자바스크립트 함수에 타입을 부여하면 아래와 같음

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

매개변수와 함수의 반환 값에 타입을 추가

함수의 인자

타입스크립트에서는 함수의 인자를 모두 필수 값으로 간주.
따라서, 함수의 매개변수를 설정하면 undefined나 null이라도 인자로 넘겨야 함.
정의된 매개변수 값만 받을 수 있고 추가로 인자를 받을 수 없다는 의미.

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): number {
  return a + b;
}
sum(10, 20); // 30
sum(10, 20, 30); // error, too many parameters
sum(10); // 타입 에러 없음

매개변수 초기화는 다음과 같이 사용

function sum(a: number, b = '100'): number {
  return a + b;
}
sum(10, undefined); // 110
sum(10, 20, 30); // error, too many parameters
sum(10); // 110

REST 문법 은 다음과 같이 사용

function sum(a: number, ...nums: number[]): number {
  const totalOfNums = 0;
  for (let key in nums) {
    totalOfNums += nums[key];
  }
  return a + totalOfNums;
}

출처

타입스크립트 핸드북

profile
문제를 해결하고 가치를 제공합니다

0개의 댓글