ECMAScript 6 では、反復のためのジェネレーター、イテレーター、およびシンタックス シュガーが導入されています。フラグ付きの Node.JS v0.11.4
--harmony --use_strict --harmony_generators
次のジェネレータを理解しています
function* fibonacci() {
let previous = 0;
let current = 1;
while(true) {
let temp = previous;
previous = current;
yield current = temp + current;
}
}
次に、1000 未満のフィボナッチ数を出力できます。
for(let value of fibonacci()) {
if(value > 1000) { break; }
console.log(value);
}
この例では、while
ループではなくfor
ループの方がより自然で、次のようになります。
while(value of fibonacci() < 1000) {
console.log(value);
}
イテレータの反復は、while
ループではなくループで実行できfor
ますか?