TypeScript - 関数 - オーバーロード
公開日:2019-02-08 更新日:2019-05-14
1. 概要
関数のオーバーロードをする方法です。
2.1 サンプル
最初の3行が関数の定義になります。
そしてその直後に、全ての引数の形に対応できる本体を実装します。
そしてその直後に、全ての引数の形に対応できる本体を実装します。
//関数の定義
function test(value1: number): void
function test(value1: string): void
function test(value1: number, value2: string): void
//本体
function test(value1: any, value2?: string): void {
console.log("-----");
if (typeof value1 === "string") {
console.log("引数1:string");
} else {
console.log("引数1:number");
}
if (value2 === undefined) {
console.log("引数は1つです。");
} else {
console.log("引数は2つです。");
}
}
test(1);
test("a");
test(1, "a");
-----
引数1:number
引数は1つです。
-----
引数1:string
引数は1つです。
-----
引数1:number
引数は2つです。