[고급타입] 함수 오버로딩

트릴로니·2022년 9월 2일
0

타입스크립트

목록 보기
9/9

함수 오버로딩이란?

  • 어떤 함수의 매개 변수가 다른 여러 버전의 함수를 만드는 것을말한다.
  • 화살표 함수는 오버로딩 할 수 없다.
type Combinable = string | number;

function add(a: number, b: number): number;
function add(a: string, b: string): string;

function add(a: Combinable, b: Combinable){
  if(typeof a === 'string' || typeof b === 'string'){
    return a.toString() + b.toString();
  }
  return a + b;
}

const result = addd('Max', 'Min');
  • 만약 add함수의 매개변수 a가 number타입이고 b가 number타입이면 반환값은 number이고 a가 string타입이고 b가 string타입이면 반환값은 string이다.

0개의 댓글