IIFE
Ein IIFE (Immediately Invoked Function Expression) ist ein Idiom, bei dem eine JavaScript-Funktion ausgeführt wird, sobald sie definiert ist. Sie ist auch als selbstausführende anonyme Funktion bekannt. Der Name IIFE wurde von Ben Alman in seinem Blog gefördert.
// standard IIFE
(function () {
// statements…
})();
// arrow function variant
(() => {
// statements…
})();
// async IIFE
(async () => {
// statements…
})();
Es besteht aus zwei Hauptteilen:
- Einem Funktion-Ausdruck. Dieser muss normalerweise in Klammern eingeschlossen werden, um korrekt geparst zu werden.
- Der sofortigen Ausführung des Funktionsausdrucks. Argumente können übergeben werden, obwohl IIFEs ohne Argumente häufiger vorkommen.
IIFEs sind ein gängiges Muster, das verwendet wird, um beliebig viele Anweisungen in ihrem eigenen Gültigkeitsbereich auszuführen (und möglicherweise einen Wert zurückzugeben), an einem Ort, der einen einzigen Ausdruck erfordert. Sie sind ähnlich wie, aber viel mächtiger als der Komma-Operator, der nur mehrere Ausdrücke ausführen kann und daher keine Möglichkeit bietet, lokale Variablen oder Kontrollflussanweisungen zu verwenden.
Anwendungsfälle von IIFEs umfassen:
- Vermeidung der Verschmutzung des globalen Namensraums durch Erstellen eines neuen Gültigkeitsbereichs).
- Erstellen eines neuen asynchronen Kontexts zur Verwendung von
await
in einem nicht-asynchronen Kontext. - Berechnung von Werten mit komplexer Logik, wie die Verwendung mehrerer Anweisungen als einzelner Ausdruck.
Für Code-Beispiele siehe die Referenzseiten zum function
-Ausdruck und async function
-Ausdruck.
Siehe auch
- IIFE (Wikipedia)
- Komma-Operator
- Verwandte Glossarbegriffe: