SyntaxError: missing ) after condition
The JavaScript exception "missing ) after condition" occurs when there is an error with
how an
if
condition is written. It must appear in parenthesis after the if
keyword.
Message
SyntaxError: missing ) after condition (Firefox) SyntaxError: Unexpected token '{'. Expected ')' to end an 'if' condition. (Safari)
Error type
What went wrong?
There is an error with how an
if
condition is written. In any programming language, code needs to make decisions and
carry out actions accordingly depending on different inputs. The if statement executes a
statement if a specified condition is truthy. In JavaScript, this condition must appear
in parenthesis after the if
keyword, like this:
js
if (condition) {
// do something if the condition is true
}
Examples
Missing parenthesis
It might just be an oversight, carefully check all you parenthesis in your code.
js
if (Math.PI < 3 {
console.log("wait what?");
}
// SyntaxError: missing ) after condition
To fix this code, you would need to add a parenthesis that closes the condition.
js
if (Math.PI < 3) {
console.log("wait what?");
}
Misused is keyword
If you are coming from another programming language, it is also easy to add keywords that don't mean the same or have no meaning at all in JavaScript.
js
if (done is true) {
console.log("we are done!");
}
// SyntaxError: missing ) after condition
Instead you need to use a correct comparison operator. For example:
js
if (done === true) {
console.log("we are done!");
}
Or even better:
js
if (done) {
console.log("we are done!");
}