JavaScript のブログや記事を読んでいると、ES6 ジェネレーターに多くの関心が寄せられていますが、関数の配列で作成された現在のシーケンスと本質的にどのように異なるのかを理解できていません。たとえば、以下のファクトリは関数ステップの配列を取り、ステップ間で生成します。
function fakeGen(funcList) {
var i = 0, context;
return function next() {
if (i<funcList.lenght) {
return {value: funcList[i++](context)}
} else return {done:true}
}
}
どのような利点がありませんか? また、トランスパイラは ES6 で魔法をどのように実装しますか?