아래 내용은 자바스크립트에 대한 기본 지식이 있다는 것을 전제로 한다.

🎯 함수의 기본적인 타입 선언

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

기존 자바스크립트 함수의 선언 방식에서 매개변수와 함수의 반환 값에 타입을 추가하였다.

🎯 함수의 인자

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

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

sum(10, 20); // 30
sum(10, 20, 30); // error
sum(10); // error

🎯 REST 문법이 적용된 매개변수

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