SyntaxError: missing ) after condition

JavaScript 异常“条件后缺少 )”发生在 if 条件的编写方式出现错误时。它必须出现在 if 关键字后的括号中。

消息

SyntaxError: missing ) after condition (Firefox)
SyntaxError: Unexpected token '{'. Expected ')' to end an 'if' condition. (Safari)

错误类型

哪里出错了?

if 条件的编写方式存在错误。在任何编程语言中,代码都需要根据不同的输入做出决策并相应地执行操作。如果指定的条件为真,则 if 语句将执行语句。在 JavaScript 中,此条件必须出现在 if 关键字后的括号中,如下所示

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

示例

缺少括号

这可能只是一个疏忽,仔细检查代码中的所有括号。

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

// SyntaxError: missing ) after condition

要修复此代码,您需要添加一个括号以关闭条件。

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

关键字使用错误

如果您来自其他编程语言,也很容易添加在 JavaScript 中含义不同或根本没有含义的关键字。

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

// SyntaxError: missing ) after condition

相反,您需要使用正确的 比较运算符。例如

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

或者更好的是

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

另请参阅