SyntaxError: missing ) after argument list
The JavaScript exception "missing ) after argument list" occurs when there is an error with how a function is called. This might be a typo, a missing operator, or an unescaped string.
Message
SyntaxError: missing ) after argument list (V8-based & Firefox) SyntaxError: Unexpected identifier 'x'. Expected ')' to end an argument list. (Safari)
Error type
What went wrong?
There is an error with how a function is called. This might be a typo, a missing operator, or an unescaped string, for example.
Examples
Because there is no "+" operator to concatenate the string, JavaScript expects the
argument for the log
function to be just "PI: "
. In that case,
it should be terminated by a closing parenthesis.
console.log("PI: " Math.PI);
// SyntaxError: missing ) after argument list
You can correct the log
call by adding the +
operator:
console.log("PI: " + Math.PI);
// "PI: 3.141592653589793"
Alternatively, you can consider using a template literal, or take advantage of the fact that console.log
accepts multiple parameters:
console.log(`PI: ${Math.PI}`);
console.log("PI:", Math.PI);
Unterminated strings
console.log('"Java" + "Script" = \"' + "Java" + 'Script\");
// SyntaxError: missing ) after argument list
Here JavaScript thinks that you meant to have );
inside the string and
ignores it, and it ends up not knowing that you meant the );
to end the
function console.log
. To fix this, we could put a '
after the
"Script" string:
console.log('"Java" + "Script" = "' + "Java" + 'Script"');
// '"Java" + "Script" = "JavaScript"'
See also
- Functions guide