Github
PoststypescriptOverloading

Overloading

A set of two-state buttons that can be toggled on or off

함수명이 동일하지만 매개변수를 다르게 만들어 하나의 메소드로 다른 인자를 받을 수 있다.

자바스크립트에서는 안되지만 타입스크립트에서는 가능하다.

⇒ 타입을 다양하게 지정 위해서

오버로딩을 할 때는 순서를 지켜야한다.

  1. 함수 선언
  2. 함수 정의
  3. 함수 호출

예시 1

1function disp(n: number): void; 2function disp(n: number, s: string): void; 3function disp(n: number, s: string, n2: number): void; 4 5function disp(n: number, s?: string, n2?: number): void { 6 // ? 를 사용하여 s와 n2를 선택적으로 파라미터를 받는다. 7 console.log(n, s, n2); 8} 9 10disp(100); // 100 undefined undefined 11disp(200, '홍길동'); // 200 홍길동 undefined 12disp(300, '홍길동', 25); // 300 홍길동 25 13--- 14 15function x(n: number): void; 16function x(n: string): void; 17 18function x(n: any): void { 19 console.log(n); 20} 21 22--- 23 24function disp2(n: number): void; 25function disp2(s: string): void; 26function disp2(s: string, n: number): void; 27function disp2(n: number, s: string): void; 28 29function disp2(n: any, s?: any): void { 30 console.log(n, s); 31}