ホームページ >ウェブフロントエンド >jsチュートリアル >一見正しいコードにもかかわらず、「予期しないトークンが違法です」エラーが発生するのはなぜですか?

一見正しいコードにもかかわらず、「予期しないトークンが違法です」エラーが発生するのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-18 06:50:11104ブラウズ

Why Am I Getting an

「予期しないトークン ILLEGAL」エラーの目に見えない原因

構文エラー

解釈中にコードが「トークン」と呼ばれる要素に分割される場合、分類できないものには「違法」というラベルが付けられます。このエラーは、不正な文字や間違った記号が原因で発生することもあります。

不可視文字

コードは単純に見えますが、ゼロ幅スペース文字 (ZWSP) と呼ばれる不可視の Unicode 文字が原因で発生する可能性があります。セミコロンの後に潜んでいます。この文字は、予期しないトークン ILLEGAL JavaScript 構文エラーを引き起こす可能性があります。

ZWSP の起源

jsfiddle などのツールでは、ワード ラッピングを制御するために ZWSP が導入されることがよくあります。 jsfiddle および Chrome 開発者ツールの新しいバージョンではこの問題が解決されていますが、それでも確認する価値はあります。

ZWSP を見つける方法

ZWSP の存在を確認するには、非表示の表示があるエディタを使用してください。文字 (Vim など)。 jsbin や CodePen.io などのオンライン デバッグ ツールでも、ZWSP が赤い点で強調表示されます。

関連する問題

ZWSP は次の原因となる可能性もあります。

  • HTML 内の余分な空白
  • 認識されないことによる CSS のスタイル エラー文字
  • 空の文字列チェックでの誤検知

ECMAScript 仕様

ECMAScript 仕様では、特定の文字列以外の有効な IdentifierPart として類似の文字 (U 200C および U 200D) がリストされています。コンテキスト。ただし、U 200B については明示的に言及されていません。実装ではこれを予期しないトークンとして扱い、構文エラーを引き起こします。

以上が一見正しいコードにもかかわらず、「予期しないトークンが違法です」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。