// #@@range_begin(list1) class FibonacciSequence { [Symbol.iterator]() { let a = 0, b = 1; return { next() { let rval = { value: b, done: false }; b += a; a = rval.value; return rval; } }; } } // #@@range_end(list1) // #@@range_begin(list2) const fib = new FibonacciSequence(); let i = 0; for(let n of fib) { console.log(`${i+1}: ${n}`); if(++i > 99) break; } // #@@range_end(list2)