Overloading

리충녕·2023년 11월 22일
0

Typescript

목록 보기
12/18

📋 Overloading

  • 오버로딩은 함수가 서로 다른 여러개의 call singature를 가지고 있을 때 발생시킨다.
  • 동일한 이름에 매개 변수와 매개 변수 타입 또는 리턴 타입이 다른 여러 버전의 함수를 만드는 것이다.

예시

type AddType = {
    (a : number, b : number, c : number) : number;
    (a : number, b : number) : number;
}

const add : AddType = (a, b, c ?: number) => {
    if(c) {
        return a + b + c;
    }
    else {
        return a + b;
    }
}

console.log(add(10,20));		// 30
console.log(add(10,20,30));		// 60

call signature의 파라미터의 개수는 모두 다를 수 있다.

위 예제에서 call signature1은 파라미터가 2개, call signature2는 파라미터가 3개를 가지고 있다.
공통되지 않은 파라미터도 있다면 해당 파라미터에게 추가적으로 타입을 지정 및 선택사항이라는 것을 알려주어야 한다.


참고
노마드코더
overloading

0개의 댓글