JavaScript オプション関数パラメータ

Daneesha Perera 2023年10月12日
  1. JavaScript オプション関数パラメータ
  2. まとめ
JavaScript オプション関数パラメータ

オプションの関数パラメーターを初期化すると、コードの実装が容易になり、コードの可読性が向上し、エラーや繰り返しが発生することなくコードが簡素化されます。 多数の引数とパラメーターを追加することで、コードをカスタマイズできます。

この記事では、JavaScript でオプションの関数パラメーターを使用する方法について説明します。

JavaScript オプション関数パラメータ

パラメータは、関数を定義するために使用される定義です。 JavaScript では、関数呼び出しで 2つの主要なパラメーターを使用します。 必須およびオプションのパラメーター。

必須パラメーターを渡す必要があります。 そうしないと、エラーがスローされます。 undefined を返しますが、オプションのパラメータで、パラメータがない場合や undefined が渡された場合は、デフォルト値に初期化されます。

オプションの関数パラメーターを宣言する場合、主に 3つのアプローチを取ることができます。

  1. 未定義プロパティの使用
  2. Arguments 変数の使用
  3. 論理 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 回呼び出されています。 最初に、num1num2 の 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.length1 に等しいため、num22 を割り当てた後、20 として結果を示しました。

論理 OR(||) 演算子を使用する

このメソッドでは、オプションのパラメーターは論理 OR(||) であり、関数の本体内にデフォルト値があります。 ここで、短絡 OR 演算子は、左引数の左側が true の場合に true を返します。 それ以外の場合は、右側の引数が true の場合、チェックして true を返します。

OR 演算子を使用すると、柔軟で読みやすいオプションの引数を簡単に作成でき、オプションのパラメーターを簡単に管理できます。 さらに、False0nullundefined 、空の文字列 " " 、および 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 という名前の関数が宣言されており、num1num2 が 2 回呼び出されます。 ここでは、2つの関数を別々に呼び出す必要があります。

最初の呼び出しでは、2つのパラメーターを渡し、出力を 200 として表示しましたが、2 回目の呼び出しでは、1つのパラメーターのみを渡し、結果を 20 として表示しました。 2 回目の呼び出しでは、num2 が定義されていないため、代わりに 2 が割り当てられます。

未定義のプロパティ メソッドと同様に、最後の引数のみをオプションにすることができ、パラメーターの最初、中間、または組み合わせをオプションにすることはできません。

まとめ

オプションの関数パラメーターは、JavaScript の優れた機能として識別できます。 オプションのパラメーターを使用しても、コードを簡素化するのに最適です。 使用頻度の低い機能です。

一部のパラメーターに同じ値を指定して関数を頻繁に呼び出したい場合は、それらのパラメーターをオプションにすることで繰り返しを避けることができます。 そのために、適切に上記の方法を使用できます。

関連記事 - JavaScript Function