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:
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
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
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> |