ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript の自動セミコロン挿入は常にエラーを防止しますか?
ASI の適用性の明確化
自動セミコロン挿入 (ASI) は JavaScript の機能ですコードにセミコロンが欠落している場合に自動的にセミコロンを挿入します。構文エラーが発生しないようにします。ただし、これは特定のステートメント タイプにのみ適用されます:
ECMAScript 仕様による ASI ルール
ECMAScript 仕様では 3 つのシナリオが定義されていますASI の場合:
1.無効なトークンが検出されました
文法で許可されていない問題のあるトークンは、次の場合にセミコロンの挿入をトリガーします。
2.入力ストリームの終了
パーサーが完全なプログラムを解析できないまま入力ストリームが終了した場合、最後にセミコロンが挿入されます。
3.制限されたプロダクション
トークンが許可されているが「制限されたプロダクション」に属している場合 (例: 改行なしで戻るまたは続行)、トークンの前にセミコロンが挿入されます。
例:
return "something";
は変換されますto:
return; "something";
ルールの例外
ただし、ルールには例外があります。 ASI によって SyntaxError が発生する場合、ASI は挿入されません。たとえば、次のコードでは:
if (x) return y;
ASI は次のように変換します:
if (x) return; y;
y はそれ自体では有効なステートメントではないため、SyntaxError が発生します。
以上がJavaScript の自動セミコロン挿入は常にエラーを防止しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。