Итератор нужно делать итерируемым, чтобы можно было использовать его вместо итерируемого объекта в функциях, методах или циклах, которые ожидают получить итерируемый объект.
В случае с классом Range в книге "JavaScript. Полное руководство", делая итератор итерируемым, мы можем использовать его в цикле for..of или с методом Array.from(). Это упрощает использование объекта Range и позволяет его элементы обрабатывать так же, как элементы массива.
Например, мы можем создать объект Range и итерировать по его элементам с помощью цикла for..of так:
```javascript
const range = new Range(1, 5);
for (const num of range) {
console.log(num);
}
```
Результат будет:
```
1
2
3
4
5
```
Также, благодаря тому что итератор итерируемый, мы можем преобразовать все его элементы в массив с помощью метода Array.from():
```javascript
const range = new Range(1, 5);
const arr = Array.from(range);
console.log(arr); // [1, 2, 3, 4, 5]
```