SyntaxError: missing ) after condition

JavaScript の例外 "missing ) after condition" は、 if 文の条件の書き方にエラーがあった場合に発生します。 if キーワードの後には括弧が必要です。

エラーメッセージ

js
SyntaxError: Expected ')' (Edge)
SyntaxError: missing ) after condition (Firefox)

エラータイプ

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

if 条件の書き方にエラーがあります。どのプログラミング言語でも、コードは様々な入力に応じて決定を行い、アクションを実行する必要があります。if 文は指定した条件を満たす場合、処理を実行します。JavaScript では次のように、この条件は if キーワードの後に括弧を付ける必要があります。

js
if (condition) {
  // do something if the condition is true
}

括弧の欠落

ちょっとした見落としかもしれないので、慎重にコード内のすべての括弧をチェックしてください。

js
if (3 > Math.PI {
  console.log("wait what?");
}

// SyntaxError: missing ) after condition

このコードを修正するには、条件を閉じる括弧を追加する必要があります。

js
if (3 > Math.PI) {
  console.log("wait what?");
}

is キーワードの誤用

他の言語から来た人ならば、 JavaScript で同じ意味を持たないキーワードや意味のないキーワードを追加してしまいがちです。

js
if (done is true) {
 console.log("we are done!");
}

// SyntaxError: missing ) after condition

代わりに、正しい比較演算子を使うべきです。例を示します。

js
if (done === true) {
  console.log("we are done!");
}

関連項目