SyntaxError: "x" is a reserved identifier
Message
SyntaxError: The use of a future reserved word for an identifier is invalid (Edge) SyntaxError: "x" is a reserved identifier (Firefox) SyntaxError: Unexpected reserved word (Chrome)
Type d'erreur
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 :
js
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 :
js
"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 :
js
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 :
js
"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)