diff options
Diffstat (limited to 'files/fr/web/javascript/reference/erreurs/illegal_character/index.html')
-rw-r--r-- | files/fr/web/javascript/reference/erreurs/illegal_character/index.html | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/files/fr/web/javascript/reference/erreurs/illegal_character/index.html b/files/fr/web/javascript/reference/erreurs/illegal_character/index.html new file mode 100644 index 0000000000..1807fd5d72 --- /dev/null +++ b/files/fr/web/javascript/reference/erreurs/illegal_character/index.html @@ -0,0 +1,83 @@ +--- +title: 'SyntaxError: illegal character' +slug: Web/JavaScript/Reference/Erreurs/Illegal_character +tags: + - Erreurs + - JavaScript + - SyntaxError +translation_of: Web/JavaScript/Reference/Errors/Illegal_character +--- +<div>{{jsSidebar("Errors")}}</div> + +<h2 id="Message">Message</h2> + +<pre class="syntaxbox">SyntaxError: Invalid character (Edge) +SyntaxError: illegal character (Firefox) +SyntaxError: Invalid or unexpected token (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>Dans le code, il y a un élément de la syntaxe qui n'est pas à la bonne place. Pour détecter les erreurs de ce type, vous pouvez utiliser un éditeur de texte qui prend en charge la coloration syntaxique et qui met en évidence les caractères problématiques (par exemple si on a utilisé un tiret (<code> – </code>) au lieu d'un moins ( - ) ou des guillemets anglais (<code> “ </code>) à la place de doubles quotes ( " ).</p> + +<h2 id="Exemples">Exemples</h2> + +<h3 id="Caractères_ressemblants">Caractères ressemblants</h3> + +<p>Certains caractères ressemblent à des caractères spéciaux en JavaScript mais n'en sont pas. Dans ce cas, lorsque le moteur analysera le code, il échouera.</p> + +<pre class="brush: js example-bad">“Ceci ressemble à une chaîne de caractères.”; +// “ n'est pas le caractère " +// SyntaxError: illegal character + +42 – 13; +// – n'est pas le caractère - +// SyntaxError: illegal character + +var toto = "truc"; +// ; (<37e>) n'est pas le caractère ; +// SyntaxError: illegal character +</pre> + +<p>On peut corriger ce point en utilisant les bons caractères :</p> + +<pre class="brush: js example-good">"Ceci est vraiment une chaîne de caractères."; +42 - 13; +var toto = "truc"; +</pre> + +<p>Certains éditeurs et environnements de développement intégrés indiqueront la présence de tels caractères avec une coloration syntaxique différente. Toutefois, tous les éditeurs n'ont pas une telle fonctionnalité et si vous n'arrivez pas à déterminer l'origine du problème, il vaudra sans doute mieux supprimer la ligne incriminée et la resaisir manuellement.</p> + +<h3 id="Caractères_oubliés">Caractères oubliés</h3> + +<p>On oublie parfois un caractère.</p> + +<pre class="brush: js example-bad">var couleurs = ['#000', #333', '#666']; +// SyntaxError: illegal character +</pre> + +<p>Dans ce cas, il suffit de rajouter la quote pour <code><strong>'</strong>#333'</code>.</p> + +<pre class="brush: js example-good">var couleurs = ['#000', '#333', '#666'];</pre> + +<h3 id="Caractères_cachés">Caractères cachés</h3> + +<p>Lorsque vous copiez/collez du code depuis des sources externes, celles-ci peuvent contenir des caractères invalides difficiles à discerner.</p> + +<pre class="brush: js example-bad">var toto = 'truc'; +// SyntaxError: illegal character +</pre> + +<p>Lorsqu'on inspecte ce code grâce à un éditeur de texte (par exemple Vim), on peut voir qu'il y en fait un <a href="https://fr.wikipedia.org/wiki/Espace_sans_chasse">espace sans chasse (ZWSP) (U+200B)</a>.</p> + +<pre class="brush: js">var toto = 'truc';<200b></pre> + +<h2 id="Voir_aussi">Voir aussi</h2> + +<ul> + <li><a href="/fr/docs/Web/JavaScript/Reference/Grammaire_lexicale">La grammaire lexicale de JavaScript</a></li> +</ul> |