引数【TypeScript】
可変長引数
スプレッド演算子を使って表現します。型は要素の型(stringなど)の配列型([])を記述します。
function hello(...words: string[]): string { return "Hello, " + words.join(" and "); } console.log(hello("Mike", "Chang", "Bob"); // Hello, Mike and Chang and Bob
省略可能引数
引数名の後に「?」をつけることで、関数実行時にその引数の指定を省略することができます。
function hello(word?: string): string { if(word) { return "Hello, "+ word; } else { return "Hello, world"; } } console.log(hello()); // Hello, world console.log(hello("Mike"); // Hello, Mike
デフォルト値付き引数
引数名に対して「=<引数名>」とすることで、関数実行時に引数が指定されない場合のデフォルト値を指定することができます。
function hello(word = "world"): string { return "Hello, " + word; } console.log(hello()); // Hello, world console.log(hello("Mike")); // Hello, Mike
コンストラクタ引数のプロパティ宣言
コンストラクタの引数に対してpublic またはprivateの修飾子をつけることで、同名プロパティを宣言、初期化することができます。
class SampleA { constructor(public name: string) { } } var objA = new SampleA("Mike"); console.log(objA.name); // Mike
このプロパティ宣言を用いない場合、次のようにプロパティを宣言して、コンストラクタの中に初期化処理を記述する必要があります。
class SampleB { name: string; constructor(name: string) { this.name = name; } } var objB = new SampleB("Karen"); console.log(objB.name); // Karen
TypeScript早わかりチートシート【1.5.3対応】 - Build Insider