Heim > Web-Frontend > js-Tutorial > Verhindert das automatische Einfügen von Semikolons in JavaScript immer Fehler?

Verhindert das automatische Einfügen von Semikolons in JavaScript immer Fehler?

Susan Sarandon
Freigeben: 2024-12-23 16:05:15
Original
849 Leute haben es durchsucht

Does JavaScript's Automatic Semicolon Insertion Always Prevent Errors?

Die Nuancen der automatischen Semikolon-Einfügung von JavaScript

Klarstellung der Anwendbarkeit von ASI

Die automatische Semikolon-Einfügung (ASI) ist eine JavaScript-Funktion das automatisch ein Semikolon in den Code einfügt, wenn es fehlt und keine syntaktischen Fehler verursacht. Dies gilt jedoch nur für bestimmte Anweisungstypen:

  • Leere Anweisungen
  • Variablendeklarationen
  • Ausdrucksanweisungen
  • Do-while-Anweisungen
  • Anweisungen fortsetzen
  • Pause Anweisungen
  • Rückgabeanweisungen
  • Throw-Anweisungen

ASI-Regeln gemäß ECMAScript-Spezifikation

Die ECMAScript-Spezifikation definiert drei Szenarien für ASI:

1. Ungültiges Token gefunden

Ein fehlerhaftes Token, das von der Grammatik nicht zugelassen wird, löst das Einfügen eines Semikolons aus, wenn:

  • Es ist durch einen Zeilenumbruch vom vorherigen Token getrennt.
  • Darauf folgt }.

2. Ende des Eingabestroms

Wenn der Eingabestrom endet, ohne dass der Parser ein vollständiges Programm analysieren kann, wird am Ende ein Semikolon eingefügt.

3. Eingeschränkte Produktionen

Wenn ein Token erlaubt ist, aber zu einer „eingeschränkten Produktion“ gehört (z. B. Zurück oder Fortfahren ohne Zeilenumbruch), wird davor ein Semikolon eingefügt.

Beispiel:

return
"something";
Nach dem Login kopieren

wird transformiert an:

return;
"something";
Nach dem Login kopieren

Ausnahme von der Regel

Es gibt jedoch eine Ausnahme von den Regeln. Wenn die ASI zu einem SyntaxError führen würde, wird sie nicht eingefügt. Zum Beispiel im folgenden Code:

if (x)
return
  y;
Nach dem Login kopieren

ASI würde es umwandeln in:

if (x)
return;
y;
Nach dem Login kopieren

Dies würde einen SyntaxError verursachen, da y für sich genommen keine gültige Anweisung ist.

Das obige ist der detaillierte Inhalt vonVerhindert das automatische Einfügen von Semikolons in JavaScript immer Fehler?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage