The iterator protocol

Any object that implements the iterator protocol is known as an iterator. According to the iterator protocol, an object needs to provide a next() method that returns the next item in the sequence of a group of items. Here is an example to demonstrate this:

let obj = { array: [1, 2, 3, 4, 5], nextIndex: 0, next: function() {         return this.nextIndex < this.array.length ? {value: this.array[this.nextIndex++], done: false} : {done: true}       }};console.log(obj.next().value);console.log(obj.next().value);console.log(obj.next().value);console.log(obj.next().value);console.log(obj.next().value);console.log(obj.next().done);

The output is as follows:

12345true

If you look closely, you'll realize that the next method inside the obj ...

Get Learn ECMAScript - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.