Maison > interface Web > js tutoriel > Pourquoi est-ce que je reçois « Uncaught SyntaxError : Unexpected token ILLEGAL » dans mon code JavaScript ?

Pourquoi est-ce que je reçois « Uncaught SyntaxError : Unexpected token ILLEGAL » dans mon code JavaScript ?

Patricia Arquette
Libérer: 2024-12-06 08:59:10
original
644 Les gens l'ont consulté

Why Am I Getting

Aucune cause visible pour "Jeton inattendu ILLEGAL"

Lorsque vous rencontrez l'erreur JavaScript "Uncaught SyntaxError: Jeton inattendu ILLEGAL", la réaction initiale peut être un manque de cause perceptible, en particulier pour un code apparemment simple comme "var foo = 'bar';".

Source de l'erreur

Lorsque le code JavaScript est analysé, il se décompose en « jetons » et tout jeton qui ne peut pas être classé dans la catégorie quatre types de base reçoivent le label "ILLEGAL". Cette erreur peut également provenir de caractères mal placés ou d'éléments syntaxiques manquants, tels que des symboles @ parasites, des accolades déséquilibrées, des citations inappropriées, etc.

Caractère illégal invisible

Dans les cas où la syntaxe semble valide, le coupable peut être un caractère invisible : l'espace Unicode de largeur nulle (ZWSP ou U 200B), noté ​. Ce caractère provoque généralement l'erreur « Jeton inattendu ILLEGAL », provenant de sources comme jsfiddle, qui est connu pour intégrer des ZWSP pour contrôler le retour à la ligne.

Identification du caractère invisible

Pour repérer le ZWSP, activez l'affichage des caractères invisibles dans votre éditeur. Dans Vim, par exemple, il s'affiche sous la forme . Les outils de débogage en ligne comme jsbin et CodePen le mettent en évidence sous la forme d'un point rouge.

Problèmes connexes

ZWSP sert un objectif légitime, permettant un contrôle précis du retour à la ligne. Cependant, sa présence peut également introduire d'autres problèmes, tels que :

  • Chaînes vides qui ne sont pas vraiment vides en raison de ZWSP cachés
  • Espaces inattendus sur les pages Web
  • Style incorrect en raison de problèmes d'analyse CSS
  • Encodage mal interprété conduisant à l'affichage des caractères problèmes

Spécification ECMAScript

Bien que la spécification ECMAScript mentionne des caractères d'espacement similaires, il lui manque une mention explicite de ZWSP. Cependant, la référence aux « séparateurs d'espace » dans la spécification suggère que ZWSP devrait, en fait, être considéré comme un espace. Néanmoins, les implémentations actuelles le traitent comme un jeton inattendu.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal