yield*
引数に
TypeScriptのIterable
を取る
この
Iterable
を消化し切るまで
yield
を繰り返す
一つの
yield*
で複数の
yield
を書いた感じになる
code:ts
function* gen1() {
yield 1;
yield 2;
}
function* gen2() {
yield 0;
yield* gen1(); // gen1のすべてのyieldを委譲
yield 3;
}
console.log(
...gen2()
); //
0, 1, 2, 3
https://zenn.dev/qnighy/articles/112af47edfda96#yield*