SyntaxError: missing variable name

Message

SyntaxError: missing variable name (Firefox)
SyntaxError: Unexpected token = (Chrome)

Type d'erreur

Quel est le problème ?

Il manque un nom pour une variable. Cela est probablement dû à une erreur de syntaxe dans le code. Peut-être qu'une variable est placée au mauvais endroit ou peut-être qu'il manque un nom car on n'a pas trouvé de nom pertinent… (ce qui est souvent assez difficile).

Exemples

Absence d'un nom pour une variable

js
var = "toto";

Il est souvent compliqué de trouver le bon nom pour une variable…

js
var àDéfautDeMieux = "toto";

Les mots-clés réservés ne peuvent pas être utilisés comme noms de variables

Quelques mots-clés sont réservés et ne peuvent pas être utilisés comme noms de variable :

js
var debugger = "zuuuuut";
// SyntaxError: missing variable name

Déclarer plusieurs variables

Attention aux virgules lorsqu'on déclare plusieurs variables… Y a-t-il plus de virgules que nécessairee ? Une virgule est-elle utilisée à la place d'un point-virgule ?

js
var x, y = "toto",
var x, = "toto"

var un = document.getElementById('un'),
var deux = document.getElementById('deux'),

// SyntaxError: missing variable name

Voici une version corrigée :

js
var x,
  y = "toto";
var x = "toto";

var un = document.getElementById("un");
var deux = document.getElementById("deux");

Tableaux

Pour former un littéral de tableau (Array), il est nécessaire d'ajouter des crochets autour des valeurs des éléments. Le fragment de code suivant ne fonctionnera pas :

js
var arr = 1,2,3,4,5;
// SyntaxError: missing variable name

Voici la forme équivalente correcte :

js
var arr = [1, 2, 3, 4, 5];

Voir aussi