- ジェネレーターの定義と使用例
ジェネレーターは、function*キーワードを使用して定義されます。次の例は、1から10までの整数を生成するジェネレーターの定義と使用方法です。
function* countGenerator() {
for (let i = 1; i <= 10; i++) {
yield i;
}
}
const generator = countGenerator();
for (const number of generator) {
console.log(number);
}
- ジェネレーターの一時停止と再開
ジェネレーターは、yieldキーワードを使用して値を返すだけでなく、一時停止することもできます。次の例では、ジェネレーター内で一時停止と再開を行っています。
function* pauseResumeGenerator() {
console.log('処理を開始しました');
yield '一時停止1';
console.log('処理を再開しました');
yield '一時停止2';
console.log('処理を終了しました');
}
const generator = pauseResumeGenerator();
console.log(generator.next().value);
console.log(generator.next().value);
console.log(generator.next().value);
- ジェネレーターを使用した無限データの生成
ジェネレーターを使用すると、無限のデータシーケンスを生成することも可能です。次の例は、フィボナッチ数列を生成するジェネレーターです。
function* fibonacciGenerator() {
let a = 0;
let b = 1;
while (true) {
yield a;
[a, b] = [b, a + b];
}
}
const generator = fibonacciGenerator();
for (let i = 0; i < 10; i++) {
console.log(generator.next().value);
}
以上のように、JavaScriptのジェネレーターは非常に強力であり、反復処理を容易に行うための重要なツールです。是非、これらの基本とコード例を使って、自身のプロジェクトに応用してみてください。