ジェネレータ関数
ジェネレータかんすう(関数)
意味 途中で停止可能な関数
ジェネレータ関数とは?
関数の実行を途中で停止し、再開することができる関数。`function*`という構文で定義される。
ジェネレータ関数の具体的な使い方
基本的なジェネレータ関数の例
function* countToThree() {
yield 1;
yield 2;
yield 3;
}
const generator = countToThree();
console.log(generator.next().value);
console.log(generator.next().value);
console.log(generator.next().value);
console.log(generator.next().done);
👇出力結果
1
2
3
true
この例では、1から3までカウントアップするジェネレータ関数を定義しています。next()メソッドを呼び出すたびに、次の値が生成されます。最後のnext()呼び出しでは、ジェネレータが完了したことを示すdoneプロパティがtrueになります。
無限シーケンスを生成するジェネレータ関数
function* infiniteSequence() {
let i = 0;
while (true) {
yield i++;
}
}
const generator = infiniteSequence();
console.log(generator.next().value);
console.log(generator.next().value);
console.log(generator.next().value);
// これは無限に続きますが、必要な時に停止できます
👇出力結果
0
1
2
この例では、無限に続く整数のシーケンスを生成するジェネレータ関数を定義しています。必要な数だけnext()を呼び出すことで、値を取得できます。メモリ効率が良く、必要なときだけ値を生成できます。
ジェネレータ関数に関するよくある質問
ジェネレータ関数が学べる書籍の紹介
「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、JavaScriptのジェネレータ関数や引数、高階関数、apply、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。
よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。
HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。
JavaScriptを学べる「プログラミング単語帳」アプリ
プログラミング単語帳がアプリになりました!JavaScriptはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。
収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。
いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。
2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!
2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!