ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript コードで「Uncaught SyntaxError: Unexpected token ILLEGAL」というメッセージが表示されるのはなぜですか?

JavaScript コードで「Uncaught SyntaxError: Unexpected token ILLEGAL」というメッセージが表示されるのはなぜですか?

Patricia Arquette
リリース: 2024-12-06 08:59:10
オリジナル
644 人が閲覧しました

Why Am I Getting

「予期しないトークン ILLEGAL」の明らかな原因はありません

JavaScript エラー「Uncaught SyntaxError: Unexpected token ILLEGAL」が発生したときの最初の反応特に次のような一見単​​純なコードの場合、認識できる原因が欠如している可能性があります。 "var foo = 'bar';".

エラーの原因

JavaScript コードが解析されると、「トークン」と解析できないトークンに分解されます。 4 つの基本タイプに分類されると、「ILLEGAL」ラベルが付けられます。このエラーは、文字の配置が間違っていたり、@ 記号のバランスが取れていない中括弧、不適切な引用符などの構文要素が欠落していることによって発生することもあります。

目に見えない不正な文字

構文が有効であるように見える場合、原因は目に見えない文字である Unicode のゼロ幅スペースである可能性があります。 (ZWSP、または U 200B)、 として示されます。この文字は通常、「予期しないトークン ILLEGAL」エラーを引き起こします。これは、ワードラップを制御する ZWSP を埋め込むことが知られている jsfiddle などのソースに由来します。

不可視文字の識別

ZWSP を見つけるには、エディターで非表示の文字の表示を有効にします。たとえば、Vim では、 と表示されます。 jsbin や CodePen などのオンライン デバッグ ツールでは、赤い点で強調表示されます。

関連問題

ZWSP は正当な目的を果たし、正確な行折り返し制御を可能にします。ただし、その存在により、次のような他の問題が発生する可能性もあります。

  • 非表示の ZWSP により実際には空ではない空の文字列
  • Web ページ上の予期しない空白
  • CSS 解析の問題による不正なスタイル
  • エンコーディングの誤解により文字が表示される問題

ECMAScript 仕様

ECMAScript 仕様では同様の空白文字について言及していますが、ZWSP については明示的に言及していません。ただし、仕様内の「スペース区切り文字」への言及は、ZWSP が実際には空白とみなされるべきであることを示唆しています。それにもかかわらず、現在の実装ではこれを予期しないトークンとして扱います。

以上がJavaScript コードで「Uncaught SyntaxError: Unexpected token ILLEGAL」というメッセージが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート