The iteration protocol
An iteration protocol is a set of rules that an object needs to follow for implementing the interface. When this protocol is used, a loop or a construct can iterate over a group of values of the object.
JavaScript has two iteration protocols known as the iterator protocol and the iterable protocol.
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...