diff options
Diffstat (limited to 'files/fr/web/javascript/reference/erreurs/reserved_identifier/index.html')
-rw-r--r-- | files/fr/web/javascript/reference/erreurs/reserved_identifier/index.html | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/files/fr/web/javascript/reference/erreurs/reserved_identifier/index.html b/files/fr/web/javascript/reference/erreurs/reserved_identifier/index.html new file mode 100644 index 0000000000..98bb834523 --- /dev/null +++ b/files/fr/web/javascript/reference/erreurs/reserved_identifier/index.html @@ -0,0 +1,81 @@ +--- +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 +--- +<div>{{jsSidebar("Errors")}}</div> + +<h2 id="Message">Message</h2> + +<pre class="syntaxbox">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)</pre> + +<h2 id="Type_d'erreur">Type d'erreur</h2> + +<p>{{jsxref("SyntaxError")}}</p> + +<h2 id="Quel_est_le_problème">Quel est le problème ?</h2> + +<p><a href="/fr/docs/Web/JavaScript/Reference/Grammaire_lexicale#Mots-clés_réservés_selon_ECMAScript_2015">Les mots-clés réservés</a> 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 <em>sloppy</em> :</p> + +<ul> + <li><code>enum</code></li> +</ul> + +<p>Voici les mots-clés uniquement réservés en mode strict :</p> + +<ul class="threecolumns"> + <li><code>implements</code></li> + <li><code>interface</code></li> + <li>{{jsxref("Statements/let", "let")}}</li> + <li><code>package</code></li> + <li><code>private</code></li> + <li><code>protected</code></li> + <li><code>public</code></li> + <li><code>static</code></li> +</ul> + +<h2 id="Exemples">Exemples</h2> + +<h3 id="Mots-clés_réservés_en_modes_strict_et_non-strict">Mots-clés réservés en modes strict et non-strict</h3> + +<p>L'identifiant <code>enum</code> est réservé dans les différents cas :</p> + +<pre class="brush: js example-bad">var enum = { RED: 0, GREEN: 1, BLUE: 2 }; +// SyntaxError: enum is a reserved identifier +</pre> + +<p>En mode strict, d'autres mots-clés sont réservés :</p> + +<pre class="brush: js example-bad">"use strict"; +var package = ["pomme", "poire", "pêches"]; +// SyntaxError: package is a reserved identifier +</pre> + +<p>Pour ne pas avoir l'erreur, il faudra renommer les variables :</p> + +<pre class="brush: js example-good">var enumCouleurs = { RED: 0, GREEN: 1, BLUE: 2 }; +var liste = ["pomme", "poire", "pêches"];</pre> + +<h3 id="Mettre_à_jour_les_anciens_navigateurs">Mettre à jour les anciens navigateurs</h3> + +<p>Si vous utilisez un ancien navigateur qui n'implémente pas <code><a href="/fr/docs/Web/JavaScript/Reference/Instructions/let">let</a></code> ou <code><a href="/fr/docs/Web/JavaScript/Reference/Instructions/class">class</a></code>, vous devrez mettre à jour votre navigateur :</p> + +<pre class="brush: 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) +</pre> + +<h2 id="Voir_aussi">Voir aussi</h2> + +<ul> + <li><a href="https://wiki.c2.com/?GoodVariableNames">Utiliser de bons noms de variable</a></li> +</ul> |