JavaScript 速習チュートリアル

JavaScript 関数のパラメータ

1. パラメータ(関数の入力)

パラメータ (Parameters) を使用することで、関数に値を受け渡す(送信する)ことができます。パラメータは、関数定義(Definition)の かっこ内 に記述されます。

function 掛け算(a, b) {
  return a * b;
}

let 結果 = 掛け算(4, 5);

2. パラメータが1つの関数

関数は、パラメータを1つだけ持つように定義することもできます。

function 挨拶する(名前) {
  return "こんにちは " + 名前;
}

let メッセージ = 挨拶する("太郎");
function 摂氏に変換(華氏) {
  return (5 / 9) * (華氏 - 32);
}

let 温度 = 摂氏に変換(77);

3. 複数のパラメータを持つ関数

カンマで区切ることで、必要な数だけパラメータを追加することができます。

function フルネーム(名, 姓) {
  return 名 + " " + 姓;
}

let 名前 = フルネーム("太郎", "山田");

4. パラメータ (Parameters) vs. 引数 (Arguments)

JavaScript では、パラメータ引数 は厳密には異なる概念として区別されます。

  • パラメータ (Parameters) は、関数定義 にリストされている 名前(変数名)のことです。
  • 引数 (Arguments) は、関数を呼び出す際に渡され、関数が受け取った 実際の値 のことです。

5. パラメータのルール

JavaScript の関数定義には、他の言語とは異なるいくつかの特徴的なルールがあります。

  • データ型の指定なし: JavaScript の関数定義では、パラメータのデータ型を指定しません。
  • 型チェックの欠如: JavaScript の関数は、渡された引数に対して型チェック(Type checking)を行いません。
  • 引数の個数チェックなし: JavaScript の関数は、受け取った引数の個数がパラメータの数と一致しているかどうかのチェックを行いません。

6. 正しくないパラメータの呼び出し

パラメータの数が合わない状態で関数を呼び出すと、予期しない(正しくない)結果が返されることがあります。

引数を渡さずに関数を呼び出した場合:

function 摂氏に変換(華氏) {
  return (5 / 9) * (華氏 - 32);
}

let 温度 = 摂氏に変換(); // 華氏が undefined になり、結果は NaN になります

7. デフォルトパラメータ値 (Default Parameter Values)

ECMAScript 2015 (ES6) 以降、関数のパラメータに デフォルト値 を設定できるようになりました。
引数が提供されなかった場合、あるいは undefined が渡された場合に、このデフォルト値が適用されます。

もし y が渡されない、または undefined の場合、y は 10 になります。

function 私の関数(x, y = 10) {
  return x + y;
}

私の関数(5); // 結果は 15 (5 + 10)