## 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)