JavaScript

JS初心者のメモ:パラメータ

ES6からパラメータ定義に新たな機能が加わった。

Rest Parameters

function sumParameters(...parameters) {
    let sum = 0;
    for(let i = 0; i < parameters.length; i++) {
        sum += parameters[i];
    }

    return sum;
}

sumParameters(1,2,3); // 6

...をパラメータ名の前につけることで不特定数のパラメータを配列として関数内で使用することが可能。ただしrest parameterはパラメータ定義の最後尾でないといけない。

function sumParameters(first, ...parameters) {
    // コード
}

sumParameters(1,2,3); // 5

function sumParameters(first, ...parameters, last) {
    // コード
}

sumParameters(1,2,3); // SyntaxError

Default Parameters

他の言語同様、パラメータに既存値を設定することが可能。

function greet(name, greeting = 'Hello') {
    message = greeting + ' ' + name;
    console.log(message);
}

greet('John');           // Hello John
greet('George');         // Hello George
greet('Ringo');          // Hello Ringo
greet('Paul', 'Thanks'); // Thanks Paul