Use `for...of` to visit the values of an iterable one at a time. Unlike `for...in`, which enumerates an object’s property names, `for...of` works with iterable values. section 23.2 section 23.1
Listing 23.1. Comparing for..in and for..of
Compare a `for...in` loop over an object with a `for...of` loop over an array. section 23.2
Compared with `forEach`, `for...of`:
- Works with any iterable, not only arrays. section 23.2
- Can exit early with `break`. section 23.2
- Can yield from a generator loop; `yield` inside a `forEach` callback instead produces a syntax error. section 23.2
Build a deck
Nested `for...of` loops visit each suit and face, adding a card for every combination to a `Set`. section 26.1
Listing 26.5. src/cards.js
See the deck-building function that uses nested `for...of` loops. section 26.1

