JavaScript
Es

JavaScript:ジェネレータをアロー関数で書いとったわ

イテレーターとジェネレーター
JavaScript の ジェネレータ を極める!
JSのジェネレーター関数の書き方まとめ

多分普通は

const g = function*(){};

みたいにするんです。きっと。
ぼくもそのつもりで書いていたんですけど、

const g = () => function*(){}();

っていう順番で書いてました。あれ?
他のアロー関数に見た目あわせちゃってました。
これでも動いてるみたいです。

たとえば、配列の要素を返すジェネレータだと:

//文
function* arrayToGen(xs){ yield* xs; };
//式
const arrayToGen = function*(xs){ yield* xs; };
//アロー関数
const arrayToGen = xs => function*(){ yield* xs; }();

メリット

  • 見た目が好き

デメリット

  • 最後の()を忘れがち

何か問題があればコメントよろしくです。