--- title: 'SyntaxError: missing formal parameter' slug: Web/JavaScript/Reference/Errors/Missing_formal_parameter tags: - Error - Errors - JavaScript - SyntaxError translation_of: Web/JavaScript/Reference/Errors/Missing_formal_parameter ---
SyntaxError: missing formal parameter (Firefox)
{{jsxref("SyntaxError")}}
"Formal parameter" とは「関数の引数」のことです。関数宣言で、有効な引数を忘れています。関数定義において、引数は識別子でなければならず、数字や文字列、オブジェクトのような値であってはいけません。関数の宣言と関数の呼び出しは、異なる 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" }