私はそうのように、ES6で関数を定義するときは、パラメータ(残りパラメータ)で普及オペレータ構文を使用することができることを理解する:ES6でスプレッドシンタックスを使用する場合、デフォルトパラメータを使用しますか?
function logEach(...things) {
things.forEach(function(thing) {
console.log(thing);
});
}
logEach("a", "b", "c");
// "a" // "b" // "c"
私の質問:
デフォルトのパラメータを使用することはできますが普及した構文と一緒に?これはうまくいかないようです:
function logDefault(...things = 'nothing to Log'){
things.forEach(function(thing) {
console.log(thing);
});
}
//Error: Unexpected token =
// Note: Using Babel
を使いたいでしょうか? 'things'は残りの引数を持つ配列で、デフォルトは空の配列です。 –
何も渡されなかったかどうかを判断するために 'things.length'をチェックできませんでしたか? –
'... things'は[restパラメータ](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/rest_parameters)と呼ばれています(「ギャザ」と呼ばれる人もいます)。構文は普及と同じですが、逆です。 – joews