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
?