All posts
postApril 5, 2026

Generator Functions — Lazy Sequences

#javascript#generators#iterators
Generator Functions — Lazy Sequences — slide 1
javascript
function* counter(start = 0) {
  while (true) {
    yield start++;
  }
}

const gen = counter(1);
gen.next().value;  // 1
gen.next().value;  // 2
gen.next().value;  // 3

// Finite generator
function* range(a, b) {
  for (let i = a; i <= b; i++) yield i;
}
[...range(1, 5)];  // [1, 2, 3, 4, 5]