SyntaxError: missing ) after argument list

Message

SyntaxError: Expected ')' (Edge)
SyntaxError: missing ) after argument list (Firefox)

Type d'erreur

Quel est le problème ?

Il y a une erreur avec la façon dont une fonction est appelée . Cela peut être une faute de frappe, un opérateur manquant, ou une chaîne non-échappée, par exemple .

Exemple

Parce qu'il n'y a pas d'opérateur "+" pour concaténer la chaîne de caractères, JavaScript s'attend à trouver une parenthèse après "PI : ", qu'il considère comme l'argument de la fonction log.

js
console.log("PI: " Math.PI);
// SyntaxError: missing ) after argument list

La fonction log peut être corrigée en ajoutant un opérateur "+".

js
console.log("PI: " + Math.PI);
// "PI: 3.141592653589793"

Chaînes non terminées

js
console.log('"Java" + "Script" = \"' + 'Java' + 'Script\");
// SyntaxError: missing ) after argument list

Dans cet exemple, le moteur JavaScript considère qu'on souhaitait avoir ); dans la chaîne de caractères et l'ignore. Aussi, le moteur considère que l'appelle à console.log n'est pas terminé et qu'il manque une parenthèse fermante. Pour corriger ce problème, on peut rajouter une quote ' après la chaîne de caractères "Script" :

js
console.log('"Java" + "Script" = "' + "Java" + 'Script"');
// '"Java" + "Script" = "JavaScript"'

Voir aussi