Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

IIFE

Ein IIFE (Immediately Invoked Function Expression) ist ein Idiom, bei dem eine JavaScript Funktion ausgeführt wird, sobald sie definiert ist. Es ist auch bekannt als eine selbstausführende anonyme Funktion. Der Name IIFE wird von Ben Alman in seinem Blog gefördert.

js
// standard IIFE
(function () {
  // statements…
})();

// arrow function variant
(() => {
  // statements…
})();

// async IIFE
(async () => {
  // statements…
})();

Es enthält zwei Hauptbestandteile:

  1. Ein Funktionsausdruck. Dieser muss normalerweise in Klammern eingeschlossen werden, um korrekt geparst zu werden.
  2. Das unmittelbare Aufrufen des Funktionsausdrucks. Es können Argumente bereitgestellt werden, obwohl IIFEs ohne Argumente häufiger sind.

IIFEs sind ein gängiges Muster, das verwendet wird, um beliebig viele Anweisungen in ihrem eigenen Bereich auszuführen (und möglicherweise einen Wert zurückzugeben), an einem Ort, der einen einzelnen Ausdruck erfordert. Sie sind ähnlich wie, aber viel leistungsfähiger als, der Kommaoperator, 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.
  • Erstellen eines neuen asynchronen Kontexts, um await in einem nicht-asychronen Kontext zu verwenden.
  • Berechnen von Werten mit komplexer Logik, etwa durch die Nutzung mehrerer Anweisungen als einzelner Ausdruck.

Für Codebeispiele siehe die Referenzseiten zu function expression und async function expression.

Siehe auch