--- title: Generator slug: Web/JavaScript/Reference/Global_Objects/Generator tags: - Class - ECMAScript 2015 - Generator - JavaScript - Legacy Generator - Legacy Iterator - Reference translation_of: Web/JavaScript/Reference/Global_Objects/Generator ---
Generator オブジェクトは{{JSxRef("Statements/function*", "ジェネレーター関数", "", 1)}}によって返され、反復可能プロトコルと反復子プロトコルの両方に準拠しています。
このオブジェクトを直接インスタンス化することはできません。代わりに、ジェネレーター関数から Generator のインスタンスを返すことができます。
function* generator() {
yield 1;
yield 2;
yield 3;
}
const gen = generator(); // "Generator { }"
function* infinite() {
let index = 0;
while (true) {
yield index++;
}
}
const generator = infinite(); // "Generator { }"
console.log(generator.next().value); // 0
console.log(generator.next().value); // 1
console.log(generator.next().value); // 2
// ...
| 仕様書 |
|---|
| {{SpecName('ESDraft', '#sec-generator-objects', 'Generator objects')}} |
{{Compat("javascript.builtins.Generator")}}
function* 式', "", 1)}}