--- title: 'SyntaxError: "x" is a reserved identifier' slug: Web/JavaScript/Reference/Erreurs/Reserved_identifier tags: - Erreurs - JavaScript - SyntaxError translation_of: Web/JavaScript/Reference/Errors/Reserved_identifier ---
{{jsSidebar("Errors")}}

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

{{jsxref("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 :

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

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