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 の優れた機能として識別できます。 オプションのパラメーターを使用しても、コードを簡素化するのに最適です。 使用頻度の低い機能です。
一部のパラメーターに同じ値を指定して関数を頻繁に呼び出したい場合は、それらのパラメーターをオプションにすることで繰り返しを避けることができます。 そのために、適切に上記の方法を使用できます。