function* Ausdruck

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 (ECMA-262)
Die Definition von 'function*' in dieser Spezifikation.
Lebender Standard  

Browserkompatibilität

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid WebviewChrome für AndroidFirefox für AndroidOpera für AndroidSafari auf iOSSamsung InternetNode.js
function*Chrome Vollständige Unterstützung 49Edge Vollständige Unterstützung 12Firefox Vollständige Unterstützung 26IE Keine Unterstützung NeinOpera Vollständige Unterstützung 36Safari Vollständige Unterstützung 10WebView Android Vollständige Unterstützung 49Chrome Android Vollständige Unterstützung 49Firefox Android Vollständige Unterstützung 26Opera Android Vollständige Unterstützung 36Safari iOS Vollständige Unterstützung 10Samsung Internet Android Vollständige Unterstützung 5.0nodejs Vollständige Unterstützung 4.0.0
Trailing comma in parametersChrome Vollständige Unterstützung 58Edge Vollständige Unterstützung 79Firefox Vollständige Unterstützung 52IE Keine Unterstützung NeinOpera Vollständige Unterstützung 45Safari Vollständige Unterstützung 10WebView Android Vollständige Unterstützung 58Chrome Android Vollständige Unterstützung 58Firefox Android Vollständige Unterstützung 52Opera Android Vollständige Unterstützung 43Safari iOS Vollständige Unterstützung 10Samsung 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

Siehe auch