SyntaxError: missing formal parameter

メッセージ

SyntaxError: missing formal parameter (Firefox)

エラータイプ

SyntaxError

何がうまくいかなかったのか?

"Formal parameter" とは、 "関数の引数" のことです。関数宣言で、有効な引数を忘れています。関数定義において、引数は identifiers でなければならず、数字や文字列、オブジェクトのような値であってはいけません。関数の宣言と関数の呼び出しは、異なる 2 つのステップです。宣言時には引数として識別子が求められ、関数を呼び出すときだけ、関数が使用する値を提供します。

JavaScript では、識別子はアルファベット文字 (または "$" か "_") だけを含めることができ、数値から始められません。文字列はデータですが、識別子はコードの一部です。そのため、識別子と文字列は異なるものです。

関数を定義するとき、関数の引数は識別子でなければなりません。引数として値を提供しているため、これらの関数宣言はすべて失敗します:

function square(3) {
  return number * number;
};
// SyntaxError: missing formal parameter

function greet("Howdy") {
  return greeting;
};
// SyntaxError: missing formal parameter

function log({ obj: "value"}) { 
  console.log(arg)
};
// SyntaxError: missing formal parameter

関数宣言では、識別子を使用しなければなりません:

function square(number) {
  return number * number;
};

function greet(greeting) {
  return greeting;
};

function log(arg) {
  console.log(arg)
};

次に、好きな引数を渡してこれらの関数を呼び出せます:

square(2); // 4

greet("Howdy"); // "Howdy"

log({obj: "value"}); // Object { obj: "value" }

関連項目

ドキュメントのタグと貢献者

 このページの貢献者: YuichiNukiyama
 最終更新者: YuichiNukiyama,