関数

引数

このエントリーをはてなブックマークに追加
最終更新日 2016-12-31

TypeScript の関数の引数には、次のような拡張機能が提供されています。

オプション引数

関数の引数名の後に ? を付けることによって、引数をオプションにすることができます。

function foo(x?: string): string {
    return "Hello, " + (x === undefined ? "TypeScript" : x);
}
var result1: string = foo("TypeScript");
var result2: string = foo();  // 引数が無くてもコンパイルエラーにならない

デフォルト引数

関数の引数に初期値を指定することができます。

function foo(x: string = "TypeScript"): string {
    return "Hello, " + x;
}
var result1: string = foo("TypeScript");
var result2: string = foo();  // foo("TypeScript") と同等

rest 引数

関数の引数名の前に ... を付けることによって、引数を可変長にすることができます。可変長の引数は関数内で配列として取得します。

function foo(... x: number[]): number {
    var sum: number = 0;
    for (var i: number = 0; i < x.length; i++) {
        sum += x[i];
    }
    return sum;
}
var result: number = foo(1, 2, 3, 4);

関数の引数は、通常の必須引数、オプション引数(デフォルト引数)、rest 引数の順に指定します。