Das function* Schlüsselwort kann benutzt werden, um Generatorfunktionen in einem Ausdruck zu definieren.

Syntax

function* [name]([param1[, param2[, ..., paramN]]]) {
   statements
}

Parameter

name
Der Funktionsname. Kann weggelassen werden, wenn es ein anonymen Funktion ist. Der Name ist nur im Funktionskörper referenzierbar.
paramN
Der Name eines Argumentes, welches der Funktion übergeben wird. Eine Funktion kann bis zu 255 Argumente haben.
statements
Die Statements, die den Rumpf der Funktion darstellen.

Beschreibung

Ein function* Ausdruck sehr ähnlich zu function* Statements und hat die selbe Syntax. Der Hauptunterschied zwischen einem function* Ausdruck und function* Statement ist der Funktionsname, welcher in einem function* Ausdruck weggelassen werden kann, um eine anonyme Funktion zu erstellen. Mehr Informationen sind im Kapitel Funktionen enthalten.

Beispiele

Das folgende Beispiel definiert eine namenlose Generatorfunktion und weist diese x zu. Die Funktion liefert das Quadrat ihres Argumentes:

var x = function*(y) {
   yield y * y;
};

Spezifikationen

Spezifikation Status Komment
ECMAScript 2015 (6th Edition, ECMA-262)
Die Definition von 'function*' in dieser Spezifikation.
Standard Initiale Definition.
ECMAScript Latest Draft (ECMA-262)
Die Definition von 'function*' in dieser Spezifikation.
Entwurf  

Browserkompatibilität

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid WebviewChrome für AndroidEdge MobileFirefox für AndroidOpera für AndroidiOS SafariSamsung InternetNode.js
Grundlegende UnterstützungChrome Vollständige Unterstützung JaEdge Vollständige Unterstützung JaFirefox Vollständige Unterstützung 26IE Keine Unterstützung NeinOpera Vollständige Unterstützung JaSafari Vollständige Unterstützung 10WebView Android Vollständige Unterstützung JaChrome Android Vollständige Unterstützung JaEdge Mobile Vollständige Unterstützung JaFirefox Android Vollständige Unterstützung 26Opera Android Vollständige Unterstützung JaSafari iOS Vollständige Unterstützung 10Samsung Internet Android Vollständige Unterstützung Janodejs Vollständige Unterstützung Ja
Trailing comma in parametersChrome Vollständige Unterstützung 58Edge ? Firefox Vollständige Unterstützung 52IE ? Opera Vollständige Unterstützung 45Safari ? WebView Android Vollständige Unterstützung 58Chrome Android Vollständige Unterstützung 58Edge Mobile ? Firefox Android Vollständige Unterstützung 52Opera Android Vollständige Unterstützung 45Safari iOS ? Samsung Internet Android Vollständige Unterstützung 7.0nodejs Vollständige Unterstützung 8.0.0

Legende

Vollständige Unterstützung  
Vollständige Unterstützung
Keine Unterstützung  
Keine Unterstützung
Kompatibilität unbekannt  
Kompatibilität unbekannt

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

Mitwirkende an dieser Seite: schlagi123
Zuletzt aktualisiert von: schlagi123,