| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Operators/function* | [Back] [Original] |
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit September 2016 browserbergreifend verfgbar.
Das function* Schlsselwort kann verwendet werden, um eine Generatorfunktion innerhalb eines Ausdrucks zu definieren.
Sie knnen Generatorfunktionen auch mit der function* Deklaration definieren.
const foo = function* () {
yield "a";
yield "b";
yield "c";
};
let str = "";
for (const val of foo()) {
str += val;
}
console.log(str);
// Expected output: "abc"
function* (param0) {
statements
}
function* (param0, param1) {
statements
}
function* (param0, param1, /* , */ paramN) {
statements
}
function* name(param0) {
statements
}
function* name(param0, param1) {
statements
}
function* name(param0, param1, /* , */ paramN) {
statements
}
Hinweis:
Eine Ausdrucksanweisung kann nicht mit dem Schlsselwort function beginnen, um Verwechslungen mit einer function* Deklaration zu vermeiden. Das function Schlsselwort beginnt einen Ausdruck nur dann, wenn es in einem Kontext erscheint, der keine Anweisungen akzeptieren kann.
name OptionalDer Funktionsname. Kann weggelassen werden. In diesem Fall ist die Funktion anonym. Der Name ist nur lokal innerhalb des Funktionskrpers.
paramN OptionalDer Name eines formalen Parameters fr die Funktion. Siehe die Funktionsreferenz fr die Syntax der Parameter.
statements OptionalDie Anweisungen, die den Krper der Funktion bilden.
Ein function* Ausdruck ist dem function* Deklaration sehr hnlich und hat fast die gleiche Syntax. Der Hauptunterschied zwischen einem function* Ausdruck und einer function* Deklaration ist der Funktionsname, der in function* Ausdrcken weggelassen werden kann, um anonyme Funktionen zu erstellen. Ein function* Ausdruck kann als IIFE (Sofort Aufgerufenes Funktionsausdruck) verwendet werden, das ausgefhrt wird, sobald es definiert ist. Dies ermglicht es Ihnen, ein Ad-hoc iterierbares Iterator-Objekt zu erstellen. Weitere Informationen finden Sie auch im Kapitel ber Funktionen.
Das folgende Beispiel definiert eine unbenannte Generatorfunktion und weist sie x zu. Die Funktion liefert das Quadrat ihres Arguments:
const x = function* (y) {
yield y * y;
};
| Spezifikation |
|---|
| ECMAScript 2027 LanguageSpecification # sec-generator-function-definitions |
Der Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |