Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

GeneratorFunction() Konstruktor

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.

Warnung: Die an diesen Konstruktor übergebenen Argumente werden dynamisch als JavaScript geparst und ausgeführt. Solche APIs sind bekannt als Einschleusungs-Senken und sind potenziell ein Vektor für Cross-Site-Scripting (XSS) Angriffe.

Sie können dieses Risiko mindern, indem Sie stets TrustedScript Objekte anstelle von Zeichenfolgen übergeben und vertrauenswürdige Typen erzwingen.

Siehe Sicherheitsüberlegungen im Function() Konstruktorreferenz für mehr Informationen.

Der GeneratorFunction() Konstruktor erstellt GeneratorFunction Objekte.

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

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

Der GeneratorFunction() Konstruktor ist nicht zur direkten Verwendung gedacht, und alle im Function() genannten Einschränkungen gelten auch für GeneratorFunction().

Syntax

js
new GeneratorFunction(functionBody)
new GeneratorFunction(arg1, functionBody)
new GeneratorFunction(arg1, arg2, functionBody)
new GeneratorFunction(arg1, arg2, /* …, */ argN, functionBody)

GeneratorFunction(functionBody)
GeneratorFunction(arg1, functionBody)
GeneratorFunction(arg1, arg2, functionBody)
GeneratorFunction(arg1, arg2, /* …, */ argN, functionBody)

Hinweis: GeneratorFunction() kann mit oder ohne new aufgerufen werden. Beide erzeugen eine neue GeneratorFunction Instanz.

Parameter

Siehe Function().

Beispiele

Beachten Sie, dass diese Beispiele aus Gründen der Kürze die Verwendung von vertrauenswürdigen Typen weglassen. Für Code, der den empfohlenen Ansatz zeigt, siehe Verwendung von TrustedScript in eval().

Erstellen und Verwenden eines GeneratorFunction() Konstruktors

js
const GeneratorFunction = function* () {}.constructor;
const g = new GeneratorFunction("a", "yield a * 2");
const iterator = g(10);
console.log(iterator.next().value); // 20

Spezifikationen

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

Browser-Kompatibilität

Siehe auch