残りのパラメータと分布パラメータ
841 ワード
関数のパラメータ
残りのパラメータと分布パラメータは、argmentsオブジェクトを使用しなくても、関数が入ってくる変数のパラメータを取得することができます.残りのパラメータの文法は***と識別子***です.このような文法的定義を使って、伝達されたより多くのパラメータを受け入れて、彼らを一つの配列に集めます.
残りの配列と密接に関係しているのは分布パラメータで、関数に1つの配列が入ってきます.そして配列の要素は関数の各パラメータにマッピングされ、分布パラメータの文法と残りのパラメータは同じです.値の前に3つの点を追加します.唯一の違いは、残りのパラメータが定義関数のパラメータで使用され、分布パラメータは関数着信パラメータを呼び出すときに使用されます.
残りのパラメータと分布パラメータは、argmentsオブジェクトを使用しなくても、関数が入ってくる変数のパラメータを取得することができます.残りのパラメータの文法は***と識別子***です.このような文法的定義を使って、伝達されたより多くのパラメータを受け入れて、彼らを一つの配列に集めます.
function fn(sum,...sums){ //
console.log("sum",sum,"...",...sums)
}
fn(1,2,3,443,42,423) // sum 1 ... 2 3 443 42 423
残りのパラメータは一つの配列に保存されています.任意の配列の方法で動作できます.余分なパラメータが入ってこなくても、残りのパラメータは配列です.残りの配列と密接に関係しているのは分布パラメータで、関数に1つの配列が入ってきます.そして配列の要素は関数の各パラメータにマッピングされ、分布パラメータの文法と残りのパラメータは同じです.値の前に3つの点を追加します.唯一の違いは、残りのパラメータが定義関数のパラメータで使用され、分布パラメータは関数着信パラメータを呼び出すときに使用されます.
fn(...[0,9,4,5,6]) // sum 0 ... 9 4 5 6
パラメータのデフォルト値は、関数でもパラメータに対してデフォルト値を指定できます.関数が対応するパラメータに入っていない場合は、デフォルト値が使用できます.標準値文法とは、パラメータ名の後に等号とデフォルト値を加算します.function f(num = 10){
return num * num
}
f() // 100