## Description The *iterable protocol* allows JavaScript objects to define or customize their iteration behavior. The object needs to implement the **@iterator** method. ```JavaScript const myIterable = { *[Symbol.iterator]() { yield 1; yield 2; yield 3; }, }; console.log([...myIterable]); // [1, 2, 3] ``` ## See Also [[Iterator Protocol]] ## References - [Iteration Protocols - MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols)