IIFE
Ein IIFE (Immediately Invoked Function Expression) ist ein Idiom, bei dem eine JavaScript function ausgeführt wird, sobald sie definiert ist. Es ist auch als selbstausführende anonyme Funktion bekannt. Der Name IIFE wird von Ben Alman in seinem Blog gefördert.
// standard IIFE
(function () {
// statements…
})();
// arrow function variant
(() => {
// statements…
})();
// async IIFE
(async () => {
// statements…
})();
Es enthält zwei Hauptkomponenten:
- Ein function expression. Diese muss normalerweise in Klammern eingeschlossen sein, um korrekt geparst zu werden.
- Sofortiges Aufrufen des Function Expressions. Argumente können bereitgestellt werden, obwohl IIFEs ohne Argumente häufiger vorkommen.
IIFEs sind ein gängiges Muster, 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 leistungsfähiger 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 für IIFEs umfassen:
- Vermeidung der Verschmutzung des globalen Namensraums durch Erstellen eines neuen scopes.
- Schaffung eines neuen asynchronen Kontexts, um
await
in einem nicht asynchronen Kontext zu verwenden. - Berechnen von Werten mit komplexer Logik, wie die Verwendung mehrerer Anweisungen als einzelner Ausdruck.
Für Codebeispiele siehe die Referenzseiten zu function
expression und async function
expression.
Siehe auch
- IIFE (Wikipedia)
- Komma-Operator
- Verwandte Glossarbegriffe: