JavaScript オプション関数パラメータ
オプションの関数パラメーターを初期化すると、コードの実装が容易になり、コードの可読性が向上し、エラーや繰り返しが発生することなくコードが簡素化されます。 多数の引数とパラメーターを追加することで、コードをカスタマイズできます。
この記事では、JavaScript でオプションの関数パラメーターを使用する方法について説明します。
JavaScript オプション関数パラメータ
パラメータは、関数を定義するために使用される定義です。 JavaScript では、関数呼び出しで 2つの主要なパラメーターを使用します。 必須およびオプションのパラメーター。
必須パラメーターを渡す必要があります。 そうしないと、エラーがスローされます。 undefined
を返しますが、オプションのパラメータで、パラメータがない場合や undefined が渡された場合は、デフォルト値に初期化されます。
オプションの関数パラメーターを宣言する場合、主に 3つのアプローチを取ることができます。
- 未定義プロパティの使用
- Arguments 変数の使用
- 論理 OR 演算子の使用
未定義のプロパティを使用
JavaScript で関数を呼び出す場合、パラメーターを省略して、残りのパラメーターに undefined
という値を入力できます。
コード:
function number(num1, num2) {
if (num1 === undefined) {
num1 = 2;
}
if (num2 === undefined) {
num2 = 2;
}
return num1 * num2;
}
console.log(number(5, 6));
console.log(number(5));
出力:
30
10
上記のスニペットでは、関数 number()
が 2 回呼び出されています。 最初に、num1
と num2
の 2つのパラメーターを関数に渡し、num1
には 1つのパラメーターのみを割り当てました。
コードは正常に動作し、最初の呼び出しでは出力が 30
と表示されますが、2 回目の呼び出しでは、指定された値を num1
と見なした後、値 10
を示します。 関数が number
変数が未定義かどうかをチェックすると、num2
の値は 2
のままです。
ただし、このメソッドでは、最後の引数のみをオプションにすることができ、パラメーターの最初、中間、または組み合わせをオプションにすることはできません。
引数変数を使用
引数は、JavaScript 関数の組み込みオブジェクトです。 関数呼び出し時にパラメーターの配列を返します。
この配列の長さは、渡されたパラメーターの数を表します。 条件ステートメントを使用して、渡されたパラメーターの数をチェックし、未定義のパラメーターの代わりにデフォルト値を渡します。
次に、引数オブジェクトをループしながら、すべてのパラメーターを見つけることができます。
コード:
function number(num1, num2) {
if (arguments.length == 0) {
num1 = 1;
num2 = 2;
}
if (arguments.length == 1) {
num2 = 2;
}
return num1 * num2;
}
console.log(number(10, 15)); // first calling
console.log(number(10)); // second calling
出力:
150
20
上記のスニペットによると、関数 number()
は arguments.length
プロパティで使用されるパラメーターの数をチェックします。 結果が 0
の場合、パラメーターは関数に渡されません。 1
を取得すると、num1
パラメータのみが渡されます。
その後、関数 number()
が 2つのパラメーターと 1つのパラメーターを取得して 2 回呼び出されます。 最初の呼び出しでも問題なく動作し、出力は 150
と表示されました。 2 回目の呼び出しでは、arguments.length
が 1
に等しいため、num2
に 2
を割り当てた後、20
として結果を示しました。
論理 OR
(||
) 演算子を使用する
このメソッドでは、オプションのパラメーターは論理 OR
(||
) であり、関数の本体内にデフォルト値があります。 ここで、短絡 OR 演算子は、左引数の左側が true
の場合に true
を返します。 それ以外の場合は、右側の引数が true
の場合、チェックして true
を返します。
OR 演算子を使用すると、柔軟で読みやすいオプションの引数を簡単に作成でき、オプションのパラメーターを簡単に管理できます。 さらに、False
、0
、null
、undefined
、空の文字列 " "
、および NaN
はすべて無効な引数です。
コード (最初の呼び出し):
function multiply(num1, num2) {
var num3 = num2 || 2;
return num1 * num3;
}
console.log(multiply(10, 20));
出力:
200
コード (2 回目の呼び出し):
function multiply(num1, num2) {
var num3 = num2 || 2;
return num1 * num3;
}
console.log(multiply(10));
出力:
20
上記の例では、2つのパラメーターを持つ multiply
という名前の関数が宣言されており、num1
と num2
が 2 回呼び出されます。 ここでは、2つの関数を別々に呼び出す必要があります。
最初の呼び出しでは、2つのパラメーターを渡し、出力を 200
として表示しましたが、2 回目の呼び出しでは、1つのパラメーターのみを渡し、結果を 20
として表示しました。 2 回目の呼び出しでは、num2
が定義されていないため、代わりに 2
が割り当てられます。
未定義のプロパティ メソッドと同様に、最後の引数のみをオプションにすることができ、パラメーターの最初、中間、または組み合わせをオプションにすることはできません。
まとめ
オプションの関数パラメーターは、JavaScript の優れた機能として識別できます。 オプションのパラメーターを使用しても、コードを簡素化するのに最適です。 使用頻度の低い機能です。
一部のパラメーターに同じ値を指定して関数を頻繁に呼び出したい場合は、それらのパラメーターをオプションにすることで繰り返しを避けることができます。 そのために、適切に上記の方法を使用できます。