- ジェネレーター関数の作成: ジェネレーターは、function* キーワードを使用して定義されたジェネレーター関数内で作成されます。ジェネレーター関数内では、yieldキーワードを使用して値を返し、一時停止したり再開したりすることができます。
function* numberGenerator() {
yield 1;
yield 2;
yield 3;
}
const generator = numberGenerator();
console.log(generator.next().value); // 1
console.log(generator.next().value); // 2
console.log(generator.next().value); // 3
console.log(generator.next().value); // undefined
- ジェネレーターの反復: ジェネレーターは反復可能なオブジェクトであるため、for...ofループを使用して値にアクセスすることができます。
function* numberGenerator() {
yield 1;
yield 2;
yield 3;
}
for (const num of numberGenerator()) {
console.log(num);
}
// 出力: 1, 2, 3
- ジェネレーターの無限ループ: ジェネレーターは無限の値を生成することも可能です。以下の例では、無限の連続した自然数を生成するジェネレーターを作成しています。
function* infiniteNumberGenerator() {
let num = 1;
while (true) {
yield num++;
}
}
const generator = infiniteNumberGenerator();
console.log(generator.next().value); // 1
console.log(generator.next().value); // 2
console.log(generator.next().value); // 3
// 以降、無限に自然数が生成されます
これらは、JavaScriptでジェネレーターを作成するための基本的な方法といくつかのコード例です。ジェネレーターは非常に強力で柔軟なツールであり、非同期プログラミングや大量のデータを効率的に処理する場合に特に役立ちます。ぜひこれらのコード例を試してみてください。