TypeScript #7 | 함수 (2) - Overloading

HyeonWooGa·2022년 8월 27일
0

TypeScript

목록 보기
8/16

Overloading

개요

  • Function Overloading, Method Overloading 이라고 불리지만 핵심은 Overloading
  • 실제로 Overloading 을 사용해서 코드 작성을 할일은 잘 없지만, 외부 라이브러리나 패키지에서 많이 사용하기 때문에 알고 있어야합니다.

정의

  • 함수가 서로다른 여러개의 Call Signatures 를 가지고 있는 경우에 발생합니다.

예시

1) 완벽하진 않지만 오버로딩이 뭔지 알 수 있는 예시

2) 완벽한 예시, 실제 패키지나 라이브러리 디자인할 떄 사용

type Config = {
  path: string,
  state: object
}

type Push = {
  (path: string): void
  (config: Config): void
}

const push: Push = (config) => {
  if(typeof config === "string") console.log(config);
  else console.log(config.path);
}

3) 파라미터의 개수가 다를때 예시


profile
Aim for the TOP, Developer

0개의 댓글