TypeScriptにおける関数のオプションパラメータ
関数が可変数のパラメータを受け取るようにすることができます。 そのためには、一部(またはすべて)のパラメータをオプションとして宣言する必要があります。
パラメータがオプションであることを示すには、その名前の後に疑問符を付けます。
例として、関数内で姓をオプションパラメータとして宣言してみましょう:
function func(first: string, last?: string) {
return first + ' ' + last;
}
関数が呼び出された際にオプションパラメータが指定されない場合、その値はundefinedになります。
この点を考慮して関数を修正しましょう:
function func(first: string, last?: string) {
if (last !== undefined) {
return first + ' ' + last;
} else {
return first;
}
}
短縮形のチェックを使用して簡略化することもできます:
function func(first: string, last?: string) {
if (last) {
return first + ' ' + last;
} else {
return first;
}
}
では、この関数を使ってみましょう。 2つのパラメータを指定して呼び出します:
func('john', 'smit'); // 'john smit' を返す
1つのパラメータで呼び出します:
func('john'); // 'john' を返す
日、月、年をパラメータとして受け取り、その日付に対応する曜日を返す関数を作成してください。 3つのパラメータはすべてオプションとします。 パラメータが指定されない場合は、現在の日付に対応する値が設定されるようにしてください。