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

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

Barbara Streisand
リリース: 2024-12-21 19:52:13
オリジナル
870 人が閲覧しました

How Does JavaScript's Automatic Semicolon Insertion (ASI) Work and When Does It Occur?

JavaScript での自動セミコロン挿入: 詳細なルール

JavaScript の自動セミコロン挿入 (ASI) は、特定の位置にセミコロンを挿入できる物議を醸す機能です。明示的に記述されていないコード内で。 ASI のルールを理解することは、潜在的なバグを回避し、コードを適切に実行するために重要です。

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

ASI は特定の種類のステートメントにのみ適用されます:

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

ASIルール

ECMAScript §11.9.1 では、ASI が発生する 3 つのケースについて概説しています。

ケース 1: 問題のあるトークン

無効なトークンの場合が発生し、LineTerminator の後に続く場合、その前にセミコロンが挿入されます。 '}'.

ケース 2: 入力ストリームの終わり

パーサーがプログラムを完了できない場合、入力ストリームの終わりにセミコロンが挿入されます。

ケース 3: 制限付きProduction

次のような制限付きトークンの前にセミコロンが挿入されます。

  • オペランドの後の LineTerminators なしで式を更新します (例: c)
  • Continue および Breakラベルまたはセミコロンのないステートメント
  • なしのステートメントを返します式
  • 式のないステートメントをスローします
  • パラメータの後にかっこのないアロー関数
  • * の後にかっこのない式を出力するか、yield

例ASI の実践

次の点を考慮してくださいコード:

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

ケース 3 によると、ASI は制限されたプロダクション return ステートメントの前にセミコロンを挿入し、次のようになります。

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

結論

ASI は扱いが難しい機能ですが、堅牢な JavaScript コードを作成するにはそのルールを理解することが不可欠です。これらのルールに従うことで、開発者はエラーを回避し、プログラムを正しく実行できるようになります。

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

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