MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

SyntaxError: "x" is a reserved identifier

Message

SyntaxError: "x" is a reserved identifier (Firefox)
SyntaxError: Unexpected reserved word (Chrome)

Type d'erreur

SyntaxError

Quel est le problème ?

Les mots-clés réservés lèveront une exception s'ils sont utilisés en tant qu'identifiants. Voici les mots-clés réservés en mode strict et en mode sloppy :

  • enum

Voici les mots-clés uniquement réservés en mode strict :

  • implements
  • interface
  • let
  • package
  • private
  • protected
  • public
  • static

Exemples

Mots-clés réservés en modes strict et non-strict

L'identifiant enum est réservé dans les différents cas :

var enum = { RED: 0, GREEN: 1, BLUE: 2 };
// SyntaxError: enum is a reserved identifier

En mode strict, d'autres mots-clés sont réservés :

"use strict";
var package = ["pomme", "poire", "pêches"];
// SyntaxError: package is a reserved identifier

Pour ne pas avoir l'erreur, il faudra renommer les variables :

var enumCouleurs = { RED: 0, GREEN: 1, BLUE: 2 };
var liste = ["pomme", "poire", "pêches"];

Mettre à jour les anciens navigateurs

Si vous utilisez un ancien navigateur qui n'implémente pas let ou class, vous devrez mettre à jour votre navigateur :

"use strict"; 
class DocArchiver {}

// SyntaxError: class is a reserved identifier
// (lève une exception dans les anciens navigateurs
// tels que Firefox 44 et les versions antérieures)

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : SphinxKnight
 Dernière mise à jour par : SphinxKnight,