Lambda saysIterators implement the protocol that makes for...of and spread work.
An object is iterable if it has a [Symbol.iterator]() method returning an iterator (with a next() that yields {value, done}). Arrays, strings, Maps, and Sets implement it. You can make your own objects iterable — then for...of and spread work on them automatically.
Power-ups you unlock
Iterable = has [Symbol.iterator]()
Iterator’s next() yields {value, done}
Powers for...of and spread
Make custom objects iterable
The Mutator attacks — common mistakes
Expecting plain objects to be iterable (they’re not)
Forgetting to return {value, done} correctly
Infinite iterators with no done condition in for...of
Boss battleMake a small object iterable so for...of can loop its items.