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

JavaScriptの引数(argument)とパラメータ(parameter)の違いとは?正しい使い分けを解説

JavaScriptにおける引数(argument)とパラメータ(parameter)の違いをわかりやすく解説します。さらに、どちらの用語を使うかが実際のコーディングにおいて重要なのかどうかについても見ていきましょう。

JavaScriptの引数・パラメータとは?

JavaScriptで関数を実行するとき、関数を呼び出す際に何らかの情報を渡すことができます。

このとき渡される情報は「引数(argument)」または「パラメータ(parameter)」と呼ばれます。多くの開発者は、この2つの用語をほぼ同じ意味で区別なく使っているのが実情です。

基本的な例

function greetings(name) {
	console.log(name)
}

greetings('Anna')

この例でいう 'Anna' の部分が、greetings() 関数を呼び出したときに渡される値です。

では、これは引数なのでしょうか?それともパラメータなのでしょうか?

Dan Abramov氏による説明

Reactの開発者として知られるDan Abramov氏は、JavaScriptにおける引数とパラメータの違いについて次のように述べています。

関数の定義側を見ているのか、関数の呼び出し側を見ているのかによって、「引数(arguments)」または「パラメータ(parameters)」と呼ばれます。ただし、この用語の区別は形式的なものであり、実際には2つの用語は互換的に使用されています。

出典

つまり、純粋なコミュニケーションの観点でいえば、どのタイミングでどちらの用語を使うべきかに違いは存在します。

  • パラメータ: 関数の定義の中で受け取る値のこと。
  • 引数: 関数を呼び出すときに実際に渡す値のこと。

先ほどの例を、教科書的に正しい用語で表現すると以下のようになります。

  • 関数に対して引数である Anna を渡している。
  • function greetings(name) の中にある nameパラメータである。

使い分けは実際に重要なのか?

結論から言えば、正しい用語を適切な場面で使ったところで、コードの実行結果にも理解にも何の影響もありません。

開発業務において心配すべきことは山ほどありますが、この用語の違いはその対象には入りません。強いて言えば、優れたコードを書く能力よりもこうした細かい用語の知識を非常に重視するような就職面接を受ける場合だけは、話が別かもしれません。

補足:関連する便利な機能

引数とパラメータに関連して、JavaScriptには以下のような便利な機能もあります。

  • デフォルトパラメータ: function greetings(name = 'Guest') のように書くことで、引数が渡されなかった場合の初期値を設定できます。
  • 残余引数(Rest Parameters): function sum(...numbers) のように書くことで、可変長の引数を配列として受け取れます。
  • argumentsオブジェクト: 関数内で自動的に利用できるオブジェクトで、渡されたすべての引数にアクセスできます(アロー関数では使用不可)。

これらの機能を理解しておくと、引数とパラメータの扱いにより自信を持って取り組めるようになるでしょう。

  1. JavaScriptにおける関数とメソッドの違いとは?わかりやすく解説

    JavaScriptにおいて、関数とメソッドは本質的には同じものです。両者の違いは、メソッドがオブジェクトのプロパティとして定義された関数であるという点にあります。つまり、独立して定義されたものを「関数」、オブジェクトに紐づけられたものを「メソッド」と呼びます。 JavaScriptの関数の基本形 まず、一般的な関数の定義方法を見てみましょう。 function functionname(param1, param2){ // 処理内容 } JavaScriptのメソッドの例 メソッドは、オブジェクトに関連付けられた関数です。次の例では、employeeオブジェクトの中にdetails

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

    パラメータと引数とは?JavaScriptにおいて、パラメータ(仮引数)とは、関数を定義するときに関数名の後ろの括弧内に記述される変数名のことです。一方、引数(実引数)とは、関数を呼び出すときに実際に渡される値であり、関数側で受け取られるものです。イメージとしては、パラメータは値を受け取るための「受け皿」のような名前で、引数はその受け皿に渡される「実際の値」です。この2つの違いを正しく理解することは、関数を使いこなすうえで非常に重要です。サンプルコード以下は、JavaScriptにおけるパラメータと引数の動作を確認できるコード例です。ボタンをクリックすると、配列の要素が引数として関数に渡され、