"Jeton inattendu ILLEGAL" : un coupable caché
Malgré son apparence simple, le code qui a provoqué l'erreur "Jeton inattendu ILLEGAL" contient un personnage invisible qui est le véritable coupable. Ce caractère invisible est le caractère espace de largeur nulle (ZWSP) Unicode U 200B.
Origine du caractère invisible
La source du caractère ZWSP est souvent inconnue, mais elle se trouve généralement dans le code collé à partir de jsfiddle ou des outils de développement Chrome. Dans jsfiddle, le caractère est utilisé pour contrôler le retour à la ligne des mots.
Identification du caractère invisible
Bien qu'invisible, le caractère ZWSP peut être détecté en activant l'affichage des caractères invisibles. caractères dans votre éditeur de code ou à l’aide d’outils de débogage en ligne. Des éditeurs comme Vim affichent le caractère sous la forme
Effets et problèmes associés
Le Le caractère ZWSP peut provoquer divers problèmes, notamment :
ECMAScript Spécification
La spécification ECMAScript ne mentionne pas explicitement le caractère U 200B comme jeton inattendu. Toutefois, il suggère que les caractères similaires (U 200C et U 200D) soient traités comme faisant partie des identifiants lorsqu'ils ne font pas partie de certains éléments de code. Le comportement des implémentations (Chrome et Firefox) en traitant le ZWSP comme un jeton inattendu semble incompatible avec la spécification.
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!