JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptのパラメータ(仮引数)と引数(実引数)の違いをわかりやすく解説

パラメータと引数とは?

JavaScriptにおいて、パラメータ(仮引数)とは、関数を定義するときに関数名の後ろの括弧内に記述される変数名のことです。一方、引数(実引数)とは、関数を呼び出すときに実際に渡される値であり、関数側で受け取られるものです。

イメージとしては、パラメータは値を受け取るための「受け皿」のような名前で、引数はその受け皿に渡される「実際の値」です。この2つの違いを正しく理解することは、関数を使いこなすうえで非常に重要です。

サンプルコード

以下は、JavaScriptにおけるパラメータと引数の動作を確認できるコード例です。ボタンをクリックすると、配列の要素が引数として関数に渡され、合計値が画面に表示されます。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
   body {
      font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
   }
   .result,.sample{
      font-size: 20px;
      font-weight: 500;
   }
</style>
</head>
<body>
<h1>関数のパラメータと引数</h1>
<div class="sample"></div>
<div style="color: green;" class="result"></div>
<button class="Btn">CLICK HERE</button>
<h3>
上のボタンをクリックすると、表示されている値が引数として関数に渡されます。
</h3>
<script>
   let sampleEle = document.querySelector('.sample');
   let resEle = document.querySelector(".result");
   let arr = [22,33,44,55];
   sampleEle.innerHTML = arr;
   function add(ARR){
      let sum = 0;
      ARR.forEach(element => {
         sum+=element;
      });
      return sum;
   }
   document.querySelector(".Btn").addEventListener("click", () => {
      resEle.innerHTML = '加算後の合計 = ' + add(arr);
   });
</script>
</body>
</html>

コードのポイント

  • 関数 add(ARR)ARRパラメータ(仮引数)にあたります。
  • ボタンクリック時に呼び出される add(arr)arr引数(実引数)です。
  • 関数内部では forEach() を使って配列の各要素を順番に加算し、合計値を返しています。

実行結果

上記のコードをブラウザで開くと、まず配列の内容 [22,33,44,55] が画面に表示されます。

JavaScriptのパラメータ(仮引数)と引数(実引数)の違いをわかりやすく解説

続いて、「CLICK HERE」ボタンをクリックすると、配列が引数として関数に渡され、各要素の合計値である「154」が緑色で表示されます。

JavaScriptのパラメータ(仮引数)と引数(実引数)の違いをわかりやすく解説

まとめ

パラメータは関数定義時の「変数名」、引数は呼び出し時に渡す「実際の値」です。今回の例では、配列 arr という実引数が、パラメータ ARR を通じて関数内で処理されています。この違いを意識しておくと、より柔軟で再利用性の高い関数を作成できるようになります。

  1. JavaScriptの関数プロトタイプとは?仕組みと使い方を解説

    JavaScriptで作成されたすべての関数には、JavaScriptエンジンによって自動的にprototypeプロパティが追加されます。このprototypeプロパティはオブジェクトであり、デフォルトではconstructorプロパティを含んでいます。関数のプロトタイプには、以下のようにしてアクセスできます。functionName.prototypeコンストラクタ関数を使ってオブジェクトを生成する場合、このprototypeプロパティを活用することで、同じコンストラクタから作成された複数のオブジェクト間でメソッドやプロパティを効率的に共有することができます。これにより、各インスタンスごとに

  2. JavaScriptでのメソッド借用:call()・apply()・bind()の使い方を解説

    JavaScriptでは、call()、apply()、bind()という3つのメソッドを使うことで、あるオブジェクトが持つメソッドを別のオブジェクトが「借用」できます。これは、本来そのメソッドを持たないオブジェクトに対して、thisの参照先を差し替えてメソッドを実行できる便利なテクニックです。 3つのメソッドの違い call():引数をカンマ区切りで個別に渡し、即座に関数を実行します。 apply():引数を配列(または配列風オブジェクト)として渡し、即座に関数を実行します。 bind():thisを固定した新しい関数を返すだけで、即座には実行されません。返された関数は後から好きなタイミン