Heim >Web-Frontend >js-Tutorial >Wie funktioniert die automatische Semikolon-Einfügung (ASI) von JavaScript und wie kann ich ihre Fallstricke vermeiden?

Wie funktioniert die automatische Semikolon-Einfügung (ASI) von JavaScript und wie kann ich ihre Fallstricke vermeiden?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-24 05:42:15749Durchsuche

How Does JavaScript's Automatic Semicolon Insertion (ASI) Work and How Can I Avoid Its Pitfalls?

ASI-Regeln (Automatic Semicolon Insertion) von JavaScript

ASI von JavaScript ist eine Funktion, die automatisch Semikolons am Ende bestimmter Anweisungen einfügen kann, wenn diese fehlen. Dies kann in manchen Fällen nützlich sein, aber auch zu Fehlern führen.

Von ASI betroffene Anweisungen

ASI wird auf die folgenden Arten von Anweisungen angewendet:

  • Leere Anweisung
  • Var-Anweisung
  • Ausdruck Anweisung
  • Do-while-Anweisung
  • Continue-Anweisung
  • Break-Anweisung
  • Return-Anweisung
  • Throw-Anweisung

ASI-Regeln

Die spezifischen Regeln für ASI sind wie folgt folgt:

  1. Wenn ein ungültiges Token gefunden wird, das von der Grammatik nicht zugelassen wird, wird davor ein Semikolon eingefügt, wenn:

    • Das Token wird von getrennt das vorherige Token um mindestens einen Zeilenumbruch.
    • Das Token ist eine schließende geschweifte Klammer (}).
  2. Wenn das Ende des Eingabe-Token-Streams erreicht ist und der Parser den Eingabe-Token-Stream nicht als einzelnes vollständiges Programm analysieren kann, wird am Ende automatisch ein Semikolon eingefügt des Eingabestreams.
  3. Wenn ein Token von der Grammatik zugelassen wird, die Produktion aber eine eingeschränkte Produktion ist, wird vor der eingeschränkten Produktion automatisch ein Semikolon eingefügt Token.

Eingeschränkte Produktionen umfassen:

  • Ausdrücke aktualisieren ( , --)
  • Anweisungen fortsetzen
  • Anweisungen unterbrechen
  • Rückgabeerklärungen
  • Werfen Anweisungen
  • Pfeilfunktionen
  • Ertragsausdrücke

Beispiele

Beispiel 1:

{ 1
2 } 3

ASI wird diesen Code umwandeln zu:

{ 1
;2 ;} 3;

Beispiel 2:

a = b
++c

ASI wandelt diesen Code um in:

a = b;
++c;

Beispiel 3 :

return
"something";

ASI wird diesen Code umwandeln um:

return;
"something";

ASI-Fehler vermeiden

ASI kann eine nützliche Funktion sein, aber auch zu Fehlern führen. Um ASI-Fehler zu vermeiden, ist es am besten, am Ende jeder Anweisung immer explizit Semikolons zu verwenden.

Das obige ist der detaillierte Inhalt vonWie funktioniert die automatische Semikolon-Einfügung (ASI) von JavaScript und wie kann ich ihre Fallstricke vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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