최종 수정 : 2024-05-28
함수 오버로딩
함수를 매개변수의 개수나 타입에 따라 여러가지 버전으로 정의하는 방법
// 오버로드 시그니처 -> 버전들
function func(a: number): void;
function func(a: number, b: number, c: number): void;
// 구현 시그니처 -> 실제 구현부
// 매개변수 1개는 필수이므로 나머지는 옵셔널로 설정한다.
function func(a: number, b?: number, c?: number) {
if (typeof b === "number" && typeof c === "number") {
console.log(a + b + c);
} else {
console.log(a * 20);
}
};
func(); // 불가능
func(1); // 가능
func(1, 2); // 불가능
func(1, 2, 3); // 가능
'프론트엔드 > TS 공부' 카테고리의 다른 글
[팀미팅 질문] null 타입과 undefined 타입의 차이점과 용례는 무엇인가? (0) | 2024.05.29 |
---|---|
타입스크립트의 클래스와 접근 제어자 / 인터페이스와 클래스 (0) | 2024.05.28 |
함수 타입의 호환성 (0) | 2024.05.28 |
함수 타입 정의 / 함수 타입 표현식과 호출 시그니처 (0) | 2024.05.28 |
타입 좁히기 - 타입 가드의 종류 (0) | 2024.05.28 |
댓글