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.
js
console.log("PI: " Math.PI);
// SyntaxError: missing ) after argument list
You can correct the log call by adding the + operator:
js
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:
js
console.log(`PI: ${Math.PI}`);
console.log("PI:", Math.PI);
Unterminated strings
js
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:
js
console.log('"Java" + "Script" = "' + "Java" + 'Script"');
// '"Java" + "Script" = "JavaScript"'