ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript の自動セミコロン挿入 (ASI) はどのように機能しますか: ルールと例外?

JavaScript の自動セミコロン挿入 (ASI) はどのように機能しますか: ルールと例外?

DDD
リリース: 2024-12-28 04:58:10
オリジナル
440 人が閲覧しました

How Does JavaScript's Automatic Semicolon Insertion (ASI) Work: Rules and Exceptions?

JavaScript の ASI: ルールと例外

自動セミコロン挿入 (ASI) は、コード内の特定の位置にセミコロンを自動的に追加する JavaScript の機能です。潜在的なバグを防ぐには、ASI のルールを理解することが重要です。

ASI の影響を受けるステートメント

次のステートメントは ASI の影響を受けます:

  • 空のステートメント
  • 変数宣言(var)
  • 式ステートメント
  • 制御フロー ステートメント (do-while、 continue、break)
  • Return ステートメント
  • Throw ステートメント

ASI ルール

ASIは、次の 3 つの主なケースに適用されます:

  1. 無効なトークン: 予期しないトークンに遭遇した場合、次の場合にはその前にセミコロンが挿入されます:

    • トークンの前には改行があります。
    • トークンは終わりのカーリーです中括弧 }.
  2. 入力ストリームの終わり: プログラムが完了せずに入力ストリームの終わりに到達した場合、最後にセミコロンが挿入されます。
  3. 制限付きトークン: の前にセミコロンが自動的に挿入されます。文法上の制限された生成に従うトークン。これには、行終了記号のないトークンが含まれます:

    • 更新式 ( 、 --)
    • 制御フロー ステートメント (続行、中断)
    • リターン ステートメント
    • スローステートメント
    • ジェネレータ関数式
    • Yield式

例 1 (無効なトークン):

{ 1
2 } 3
ログイン後にコピー

ASI はこのコードを次のように変換します:

{ 1
;2 ;} 3;
ログイン後にコピー

例 2 (入力の終わり) Stream):

a = b
++c
ログイン後にコピー

ASI は最後にセミコロンを追加します:

a = b;
++c;
ログイン後にコピー

例 3 (制限付きトークン):

return
  "something";
ログイン後にコピー

ASI は制限付きリターンの前にセミコロンを挿入しますトークン:

return;
  "something";
ログイン後にコピー

注: ASI は利便性を提供しますが、その潜在的な影響を認識し、明確さと一貫性のために明示的にセミコロンを使用することが重要です。

以上がJavaScript の自動セミコロン挿入 (ASI) はどのように機能しますか: ルールと例外?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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