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

JavaScript の自動セミコロン挿入 (ASI) はどのように機能し、いつセミコロンを挿入しますか?

Patricia Arquette
リリース: 2024-12-23 00:17:15
オリジナル
580 人が閲覧しました

How Does JavaScript's Automatic Semicolon Insertion (ASI) Work and When Does it Insert Semicolons?

JavaScript の自動セミコロン挿入 (ASI) ルール

自動セミコロン挿入 (ASI) は、末尾にセミコロンを挿入する JavaScript の機能です。特定のステートメントが省略された場合。予期しない動作やバグを防ぐには、ASI のルールを理解することが重要です。

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

ASI は次のステートメントに適用されます:

  • 空のステートメント
  • Varステートメント
  • 式ステートメント
  • Do-while ステートメント
  • Continue ステートメント
  • Break ステートメント
  • Return ステートメント
  • Throwステートメント

ASIルール:

ASI のルールは JavaScript 仕様で次のように定義されています:

  • 無効なトークン: 無効なトークンが見つかった場合、セミコロンは、その前に改行があり、その後に閉じ中括弧が続く場合、その前に挿入されます。 brace.
  • 入力ストリームの終了: 入力ストリームの終わりに達した場合、入力を完全なプログラムとして解析できない場合はセミコロンが挿入されます。
  • 制限付きトークン: 改行に関係なく、特定の制限付きトークンの前にセミコロンが自動的に挿入されます。これらには、インクリメント、デクリメント、継続、ブレーク、リターン、スロー、アロー関数、および yield 式が含まれます。

例:

無効な例トークン:

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

ASI 挿入セミコロン:

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

入力ストリーム終了の例:

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

ASI はセミコロンを挿入します:

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

例制限ありトークン:

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

ASI はセミコロンを挿入します:

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

有効なトークンの例 (動作):

質問に示されている例 (_a b;) では、識別子にセミコロンが挿入されません。 _a は、セミコロンがありませんが、有効なトークンです。ただし、改行が削除されると (_a b;)、ASI はセミコロンを挿入し、有効なステートメントになります。

結論:

ASI は便利な機能ですJavaScript では、より簡潔なコードが可能になります。ただし、構文エラーや予期しない動作を回避するには、特定のルールを理解することが重要です。これらのルールに従うことで、開発者は明確で信頼性の高い JavaScript コードを作成できます。

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

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