【JavaScript ECMAScript】yield演算子の使い方
yield演算子の使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
JavaScriptのyieldは、ジェネレーター関数内で使用される特殊なキーワード(演算子)です。このキーワードは、ジェネレーター関数の実行を一時停止し、指定された値を呼び出し元に返却する役割を持ちます。そして、呼び出し元から値が要求されるたびに、中断した場所から実行を再開し、次のyield式または関数の終わりまで処理を進めます。
yieldを使用することで、大規模なデータセットの処理や無限リストの生成など、すべてのデータを一度にメモリにロードすることなく、必要な分だけ値を順次生成(遅延評価)することが可能になります。これにより、メモリ効率の良いプログラムを作成できます。また、非同期処理の管理にも利用されることがあり、より読みやすいコードを書く手助けにもなります。
ジェネレーター関数はfunction*という構文で定義され、その内部でyieldキーワードを使って値を生成します。yieldは値を返すだけでなく、next()メソッドを通じて呼び出し元から値を受け取ることもできるため、ジェネレーターと呼び出し元との間で双方向の通信が可能です。これは、複雑な非同期処理やイテレーターの制御において強力な機能となります。
公式リファレンス: yield
構文(syntax)
1function* exampleGenerator() { 2 yield 'first value'; 3 yield 123; 4}
引数(parameters)
引数なし
引数はありません
戻り値(return)
any
yield は、ジェネレーター関数内で実行を一時停止し、値を返すために使用されます。返される値は、ジェネレーターが next() メソッドで呼び出された際に継続されるまでの状態を含みます。