- 코드가 복잡하기 때문에 이해만 해두도록 하자.
function showString(a: string): void {
console.log(a);
}
function showString2(a: string, b: string, c: string): void {
console.log(a, b, c);
}
// 3개로 처리
function showString3(a: string, b?: string, c?: string): void {
if (b && c) {
console.log(a, b, c);
} else {
console.log(a);
}
}
showString("A");
showString2("A", "B", "C");
showString2("A", "B"); // 오류는 아닌데 원하지 않는 기능이라서 오류
// 함수 오버로딩
function showStringOver(a: string): void;
function showStringOver(a: string, b: string, c: string): void;
// 오버로딩 규현체
function showStringOver(a: string, b?: string, c?: string): void {
if (b && c) {
console.log(a, b, c);
} else {
console.log(a);
}
}
showStringOver("A");
showStringOver("A", "B", "C");
// showStringOver("A", "B");// 오버로딩 정의에 없음