HTTP/2 200
x-guploader-uploadid: AAwnv3JZJ1QFXAIGS3VViROwToUTWip-SQEVK-3BDDtFbkD4Jrw-IzsSr3H9UOuYD4ZGJtBE
x-goog-generation: 1760058423292462
x-goog-metageneration: 1
x-goog-stored-content-encoding: identity
x-goog-stored-content-length: 147633
x-goog-meta-goog-reserved-file-mtime: 1760056999
x-goog-hash: crc32c=rvfCzw==, md5=zIW2ogPUyNNDY2aVVMdd3Q==
x-goog-storage-class: STANDARD
accept-ranges: none
expires: Sat, 11 Oct 2025 16:59:26 GMT
cache-control: public, max-age=3600
last-modified: Fri, 10 Oct 2025 01:07:03 GMT
etag: W/"cc85b6a203d4c8d34363669554c75ddd"
content-type: text/html
age: 1186
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
alt-svc: clear
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
strict-transport-security: max-age=63072000
content-security-policy: default-src 'self'; script-src 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/js assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M=' 'sha256-YCNoU9DNiinACbd8n6UPyB/8vj0kXvhkOni9/06SuYw=' 'sha256-PZjP7OR6mBEtnvXIZfCZ5PuOlxoDF1LDZL8aj8c42rw='; script-src-elem 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/js assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M=' 'sha256-YCNoU9DNiinACbd8n6UPyB/8vj0kXvhkOni9/06SuYw=' 'sha256-PZjP7OR6mBEtnvXIZfCZ5PuOlxoDF1LDZL8aj8c42rw='; style-src 'report-sample' 'self' 'unsafe-inline'; object-src 'none'; base-uri 'self'; connect-src 'self' developer.allizom.org bcd.developer.allizom.org bcd.developer.mozilla.org updates.developer.allizom.org updates.developer.mozilla.org https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com https://incoming.telemetry.mozilla.org https://observatory-api.mdn.allizom.net https://observatory-api.mdn.mozilla.net https://api.github.com/search/issues stats.g.doubleclick.net https://api.stripe.com; font-src 'self'; frame-src 'self' interactive-examples.mdn.mozilla.net interactive-examples.mdn.allizom.net mdn.github.io live-samples.mdn.mozilla.net live-samples.mdn.allizom.net *.mdnplay.dev *.mdnyalp.dev *.play.test.mdn.allizom.net https://v2.scrimba.com https://scrimba.com jsfiddle.net www.youtube-nocookie.com codepen.io survey.alchemer.com https://js.stripe.com; img-src 'self' data: *.githubusercontent.com *.googleusercontent.com *.gravatar.com mozillausercontent.com firefoxusercontent.com profile.stage.mozaws.net profile.accounts.firefox.com developer.mozilla.org mdn.dev interactive-examples.mdn.mozilla.net interactive-examples.mdn.allizom.net wikipedia.org upload.wikimedia.org https://mdn.github.io/shared-assets/ https://mdn.dev/ https://*.google-analytics.com https://*.googletagmanager.com www.gstatic.com; manifest-src 'self'; media-src 'self' archive.org videos.cdn.mozilla.net https://mdn.github.io/shared-assets/; child-src 'self'; worker-src 'self';
x-frame-options: DENY
origin-trial: AxVILwizhbMjxFeHOn1P3R8niO1RJY/smaK4B4d1rLzc1gTaxtXMSaTi+FoigYgCw40uFRDwFcEAeqDR+vVLOW4AAABfeyJvcmlnaW4iOiJodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZyIsImZlYXR1cmUiOiJQcml2YXRlQXR0cmlidXRpb25WMiIsImV4cGlyeSI6MTc0MjA3OTYwMH0=
x-cloud-trace-context: 13a9443e9759107a9923145606195de9
date: Sat, 11 Oct 2025 16:19:12 GMT
server: Google Frontend
via: 1.1 google
vary: Accept-Encoding
content-encoding: gzip
x-cache: miss
GeneratorFunction - JavaScript | MDN
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"
GeneratorFunction()
Creates a new GeneratorFunction
object.
Also inherits instance properties from its parent Function
.
These properties are defined on GeneratorFunction.prototype
and shared by all GeneratorFunction
instances.
GeneratorFunction.prototype.constructor
The constructor function that created the instance object. For GeneratorFunction
instances, the initial value is the GeneratorFunction
constructor.
GeneratorFunction.prototype.prototype
All generator functions share the same prototype
property, which is Generator.prototype
. Each generator function created with the function*
syntax or the GeneratorFunction()
constructor also has its own prototype
property, whose prototype is GeneratorFunction.prototype.prototype
. When the generator function is called, its prototype
property becomes the prototype of the returned generator object.
GeneratorFunction.prototype[Symbol.toStringTag]
The initial value of the [Symbol.toStringTag]
property is the string "GeneratorFunction"
. This property is used in Object.prototype.toString()
.
These properties are own properties of each GeneratorFunction
instance.
prototype
Used when the function is used as a constructor with the new
operator. It will become the new object's prototype.
Inherits instance methods from its parent Function
.