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 Generator-Funktionen. In JavaScript ist jede Generator-Funktion tatsächlich ein GeneratorFunction-Objekt.

Beachten Sie, dass GeneratorFunction kein globales Objekt ist. Es kann durch den folgenden Code abgerufen 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.

Instanzeigenschaften

Erbt auch Instanzeigenschaften von seinem Elternobjekt 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 Generator-Funktionen teilen die gleiche prototype-Eigenschaft, die Generator.prototype ist. Jede Generator-Funktion, die mit der function*-Syntax oder dem GeneratorFunction()-Konstruktor erstellt wurde, hat ebenfalls ihre eigene prototype-Eigenschaft, deren Prototyp GeneratorFunction.prototype.prototype ist. Wenn die Generator-Funktion aufgerufen wird, wird ihre prototype-Eigenschaft zum Prototyp des zurückgegebenen Generator-Objekts.

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 die eigenen Eigenschaften jeder GeneratorFunction-Instanz.

prototype

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

Instanzmethoden

Erbt Instanzmethoden von seinem Elternobjekt Function.

Spezifikationen

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

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch