HTTP/2 200
content-type: text/html
x-guploader-uploadid: AAwnv3LFk8TqPgn8IUgYZo6nLQ8n1gL6VtKogbEin7HfSbwafLsa3XGKPuN3UCqDojTafBil
cache-control: public, max-age=3600
expires: Sat, 11 Oct 2025 10:24:47 GMT
last-modified: Fri, 10 Oct 2025 01:07:03 GMT
etag: W/"cc85b6a203d4c8d34363669554c75ddd"
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
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: 407ec9925466a606377feb386e6136c2
date: Sat, 11 Oct 2025 09:24:47 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
.