技術向上

プログラミングの学び、気になるテクノロジーやビジネストレンドを発信

引数【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