function* fibonacci() { var a = yield 1; yield a * 2; } var it = fibonacci(); console.log(it); // "Generator { }" console.log(it.next()); // 1 console.log(it.send(10)); // 20 console.log(it.close()); // undefined console.log(it.next()); // throws StopIteration (as the generator is now closed)
function* name([param[, param[, ... param]]]) { statements }
function* forever() { let index = 0; while (true) { yield index++; } } let f = forever(); console.log(f.next()); // 0 console.log(f.next()); // 1 console.log(f.next()); // 2