for (const value of iterable) {} // loop over "values"
for (lvalue of iterable) {} // lvalue can be used
for (const [key, value] of aMap) {} // iterate over a Map.
let obj = { x: 1, y: 2, z: 3 };
for (let value of obj) { } // TypeError
// workarounds
for (let key of Object.keys(obj) { ... }
for (let key in obj) { ... } // for-in
for (let value of Object.values(obj) { ... }
for (let [key, value] of Object.entries(obj) { ... }