--- title: function* Ausdruck slug: Web/JavaScript/Reference/Operators/function* tags: - ECMAScript 2015 - Function - Iterator - JavaScript - Operator - Primary Expression translation_of: Web/JavaScript/Reference/Operators/function* ---
Das function* Schlüsselwort kann benutzt werden, um Generatorfunktionen in einem Ausdruck zu definieren.
function* [name]([param1[, param2[, ..., paramN]]]) {
statements
}
nameparamNstatementsEin function* Ausdruck sehr ähnlich zu {{jsxref('Statements/function*', '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.
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;
};
| Spezifikation | Status | Komment |
|---|---|---|
| {{SpecName('ES2015', '#', 'function*')}} | {{Spec2('ES2015')}} | Initiale Definition. |
| {{SpecName('ESDraft', '#', 'function*')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.operators.function_star")}}