function* fib () { let [prev, cur] = [0,1] for (;;) { yield cur [prev, cur] = [cur, cur+prev] } } for (let item of fib()) { if (item > 1000) break; console.log(item) }