MediumModern JS📖 Theory Question

What are generators and when would you use them?

💡

Hint

function* that can yield values lazily; returns an iterator

Full Answer

Generators (function*) can pause execution and yield values one at a time.

function* range(start, end) {
  for (let i = start; i <= end; i++) yield i;
}
for (const num of range(1, 5)) console.log(num); // 1,2,3,4,5

// Infinite lazy sequence
function* naturals() {
  let n = 0;
  while (true) yield n++;
}

Use cases: lazy/infinite sequences, custom iterators, Redux-Saga uses generators for async flows.

More Modern JS Questions

EasyWhat is optional chaining (?.) and nullish coalescing (??)?→EasyWhat are tagged template literals and what are they used for?→EasyExplain destructuring for objects and arrays — including defaults, renaming, rest, and nesting.→EasyWhat are Symbols and what are their main use cases?→

Practice this in a timed sprint →

5 free questions, no signup required

⚡ Start Sprint