モジュール 4 · レッスン 3 / 4コース内の 15/32~12 min
モジュールのレッスン (3/4)
デフォルトパラメータと残りのパラメータ
JavaScript を使用すると、パラメータを オプション (デフォルト値あり) にすることができます
そして、残りの演算子 (...) を使用して、可変数の引数を受け入れます。
デフォルトパラメータ
JS
function saluta(nome, prefisso = 'Ciao') {
return `${prefisso}, ${nome}!`;
}
saluta('Anna'); // 'Ciao, Anna!'
saluta('Marco', 'Buongiorno'); // 'Buongiorno, Marco!'デフォルトは、引数が undefined (「渡されない」場合も含む) の場合にのみ適用されます。
null または 0 の場合、デフォルトは機能しません。
JS
function f(x = 10) {
return x;
}
f(); // 10
f(undefined); // 10
f(null); // null
f(0); // 0残り: ...names
可変数の引数を受け入れるには、... を使用して引数を配列に収集します。
JS
function somma(...numeri) {
let totale = 0;
for (const n of numeri) totale += n;
return totale;
}
somma(); // 0
somma(5); // 5
somma(1, 2, 3, 4); // 10関数内では、numeri は 実際の配列 です (古い関数の魔法の arguments オブジェクトではありません)。
残りは最後のパラメータである必要があります:
JS
function f(primo, ...altri) {
/* ok */
}
// function f(...altri, ultimo) {} // SyntaxError通話時に拡散
... のもう 1 つの側面は spread 演算子で、呼び出し時に配列を個別の引数に「展開」します。
JS
function somma(a, b, c) {
return a + b + c;
}
const nums = [1, 2, 3];
somma(...nums); // 6, equivalent to somma(1, 2, 3)試してみてください
運動#js.m4.l3.e1
試行回数: 0読み込み中…
関数 `sum(a, b)` を定義します。ここで、`b` のデフォルト値は 0 です。この関数は、次のアサートを渡す必要があります: sum(5) === 5、sum(2, 3) === 5、sum(0) === 0。
エディターを読み込み中…
ヒントを表示
関数 sum(a, b = 0) { return a + b; }
3 回の試行後に解決策が利用可能になります
復習演習
運動#js.m4.l3.e2
試行回数: 0読み込み中…
引数の算術平均を返す関数 `mean(...nums)` を定義します。引数が渡されない場合は 0 を返します。
エディターを読み込み中…
ヒントを表示
nums.length が 0 の場合は 0 を返します。それ以外の場合は、合計して除算します。
3 回の試行後に解決策が利用可能になります