Semikolon nach dem Standard-Export

8

Ich lese hier , dass ich Nach den Standardexporten muss kein Semikolon eingefügt werden. Also hat dieses Programm ein unnötiges Semikolon:

%Vor%

Aber wenn mein Modul so weitergeht:

%Vor%

Dann kann ich das Semikolon nicht verlassen.

Was geht hier vor? Die Grammatik sagt, dass ich das Semikolon nicht benötige, aber wenn ich es verlasse, bedeutet der Code etwas anderes?

UPDATE:

Wenn ich das Semikolon belasse:

%Vor%

Dann wird die exportierte Funktion aufgerufen, anstatt exportiert zu werden. babeljs.io kompiliert das letztere in:

%Vor%

Genauer gesagt wird nach dem Aufruf ein Fehler ausgelöst, weil auch der Rückgabewert der ersten Funktion aufgerufen wird (aber das ist keine Funktion). Der Fehler, den ich in Chrome bekomme, ist dies:

%Vor%     
Tamas Hegedus 05.12.2015, 22:29
quelle

1 Antwort

10

Sie müssen nach einem export default kein Semikolon hinzufügen, wenn eine Funktionsdeklaration folgt, das ist die Grammatik sagt.

Babel ist falsch, ich habe einen Fehler dagegen eingereicht. Dieser Code sollte so interpretiert werden, dass er die Funktion exportiert und dann das IIFE als IIFE ausführt.

    
Benjamin Gruenbaum 05.12.2015, 22:38
quelle