「予期しないトークン ILLEGAL」の明らかな原因はありません
JavaScript エラー「Uncaught SyntaxError: Unexpected token ILLEGAL」が発生したときの最初の反応特に次のような一見単純なコードの場合、認識できる原因が欠如している可能性があります。 "var foo = 'bar';".
エラーの原因
JavaScript コードが解析されると、「トークン」と解析できないトークンに分解されます。 4 つの基本タイプに分類されると、「ILLEGAL」ラベルが付けられます。このエラーは、文字の配置が間違っていたり、@ 記号のバランスが取れていない中括弧、不適切な引用符などの構文要素が欠落していることによって発生することもあります。
目に見えない不正な文字
構文が有効であるように見える場合、原因は目に見えない文字である Unicode のゼロ幅スペースである可能性があります。 (ZWSP、または U 200B)、 として示されます。この文字は通常、「予期しないトークン ILLEGAL」エラーを引き起こします。これは、ワードラップを制御する ZWSP を埋め込むことが知られている jsfiddle などのソースに由来します。
不可視文字の識別
ZWSP を見つけるには、エディターで非表示の文字の表示を有効にします。たとえば、Vim では、
関連問題
ZWSP は正当な目的を果たし、正確な行折り返し制御を可能にします。ただし、その存在により、次のような他の問題が発生する可能性もあります。
ECMAScript 仕様
ECMAScript 仕様では同様の空白文字について言及していますが、ZWSP については明示的に言及していません。ただし、仕様内の「スペース区切り文字」への言及は、ZWSP が実際には空白とみなされるべきであることを示唆しています。それにもかかわらず、現在の実装ではこれを予期しないトークンとして扱います。
以上がJavaScript コードで「Uncaught SyntaxError: Unexpected token ILLEGAL」というメッセージが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。