Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】function* expression演算子の使い方

function* expression演算子の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

function* expression関数は、JavaScriptでジェネレーター関数を定義するための式です。通常の関数が一度実行されると最後まで処理されるのに対し、ジェネレーター関数は実行を一時停止し、後で再開できるという特徴を持ちます。

この関数を呼び出すと、直接結果を返す代わりに、イテレーターと呼ばれる特殊なオブジェクトを返します。このイテレーターオブジェクトにはnext()というメソッドがあり、これを呼び出すたびにジェネレーター関数の内部で定義された次のyield式が評価され、対応する値と、処理が完了したかどうかを示すdoneプロパティを持つオブジェクト(例: { value: "someValue", done: false })が返されます。

yieldキーワードは、ジェネレーター関数の実行を一時停止し、値を「生成(yield)」して外部に渡し、next()が再度呼び出されるまで待機する役割を果たします。これにより、必要なときに必要な値だけを生成する、いわゆる「遅延評価」を実現できます。

function* expressionは、非同期処理の制御や、無限に続くシーケンスの生成、複雑な反復処理の簡潔な記述などに非常に役立ちます。コードの可読性を高め、メモリ効率の良いデータ処理を可能にする強力な機能です。

公式リファレンス: function* expression

構文(syntax)

1const generatorFunction = function* ([param1[, param2[, ..., paramN]]]) {
2  // statements
3};

引数(parameters)

引数なし

引数はありません

戻り値(return)

GeneratorFunction

function* 式は、ジェネレータ関数を定義します。ジェネレータ関数は、実行を一時停止し、後で再開できる特別な関数であり、GeneratorFunction 型の値を返します。

関連コンテンツ

関連プログラミング言語