問題一覧に戻る
初級関数の型
問題23: 関数オーバーロード
関数オーバーロードを使って、同じ関数名で異なるシグネチャを定義する方法を学びます。引数の型に応じて異なる戻り値の型を定義でき、より表現力豊かなAPIを作成できます。jQueryなどのライブラリでも活用されています。
// オーバーロードシグネチャ
makeDate(timestamp: number): Date;
makeDate(m: number, d: number, y: number): Date;
// 実装部分
makeDate(mOrTimestamp: number, d?: number, y?: number): Date {
return d !== undefined && y !== undefined
? new Date(y, mOrTimestamp, d)
: new Date(mOrTimestamp);
}