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 ...