GeneratorFunction

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.

We’d love to hear your thoughts on the next set of proposals for the JavaScript language. You can find a description of the proposals here.
Please take two minutes to fill out our short survey.

Das GeneratorFunction-Objekt bietet Methoden für Generatorfunktionen. In JavaScript ist jede Generatorfunktion tatsächlich ein GeneratorFunction-Objekt.

Beachten Sie, dass GeneratorFunction kein globales Objekt ist. Es kann mit folgendem Code erhalten werden:

js
const GeneratorFunction = function* () {}.constructor;

GeneratorFunction ist eine Unterklasse von Function.

Probieren Sie es aus

const GeneratorFunction = function* () {}.constructor;

const foo = new GeneratorFunction(`
  yield 'a';
  yield 'b';
  yield 'c';
`);

let str = "";
for (const val of foo()) {
  str = str + val;
}

console.log(str);
// Expected output: "abc"

Konstruktor

GeneratorFunction()

Erstellt ein neues GeneratorFunction-Objekt.

Instanz-Eigenschaften

Erbt auch Instanz-Eigenschaften von seinem Elternteil Function.

Diese Eigenschaften sind auf GeneratorFunction.prototype definiert und werden von allen GeneratorFunction-Instanzen geteilt.

GeneratorFunction.prototype.constructor

Die Konstruktorfunktion, die das Instanzobjekt erstellt hat. Für GeneratorFunction-Instanzen ist der anfängliche Wert der GeneratorFunction-Konstruktor.

GeneratorFunction.prototype.prototype

Alle Generatorfunktionen teilen dieselbe prototype-Eigenschaft, die Generator.prototype ist. Jede mit der function*-Syntax oder dem GeneratorFunction()-Konstruktor erstellte Generatorfunktion hat auch ihre eigene prototype-Eigenschaft, deren Prototype GeneratorFunction.prototype.prototype ist. Wenn die Generatorfunktion aufgerufen wird, wird ihre prototype-Eigenschaft zum Prototyp des zurückgegebenen Generatorobjekts.

GeneratorFunction.prototype[Symbol.toStringTag]

Der Anfangswert der [Symbol.toStringTag]-Eigenschaft ist die Zeichenkette "GeneratorFunction". Diese Eigenschaft wird in Object.prototype.toString() verwendet.

Diese Eigenschaften sind eigene Eigenschaften jeder GeneratorFunction-Instanz.

prototype

Wird verwendet, wenn die Funktion als Konstruktor mit dem new-Operator genutzt wird. Es wird zum Prototyp des neuen Objekts.

Instanz-Methoden

Erbt Instanz-Methoden von seinem Elternteil Function.

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-generatorfunction-objects

Browser-Kompatibilität

Siehe auch