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.

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 dem folgenden 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 += 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 Anfangswert der GeneratorFunction Konstruktor.

GeneratorFunction.prototype.prototype

Alle Generatorfunktionen teilen die gleiche prototype Eigenschaft, die Generator.prototype ist. Jede mit der function* Syntax oder dem GeneratorFunction() Konstruktor erstellte Generatorfunktion hat ebenfalls eine eigene prototype Eigenschaft, deren Prototyp 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 der String "GeneratorFunction". Diese Eigenschaft wird in Object.prototype.toString() verwendet.

Diese Eigenschaften sind Eigeneigenschaften jeder GeneratorFunction Instanz.

prototype

Wird verwendet, wenn die Funktion als Konstruktor mit dem new Operator verwendet 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