Iterator.prototype[Symbol.iterator]()
The [Symbol.iterator]() method of {{jsxref("Iterator")}} instances implements the iterable protocol and allows built-in iterators to be consumed by most syntaxes expecting iterables, such as the spread syntax and {{jsxref("Statements/for...of", "for...of")}} loops. It returns the value of this, which is the iterator object itself.
Syntax
iterator[Symbol.iterator]()
Parameters
None.
Return value
The value of this, which is the iterator object itself.
Examples
Iteration using for…of loop
Note that you seldom need to call this method directly. The existence of the [Symbol.iterator]() method makes built-in iterators iterable, and iterating syntaxes like the for...of loop automatically call this method to obtain the iterator to loop over.
const arrIterator = [1, 2, 3].values();
for (const value of arrIterator) {
console.log(value);
}
// Logs: 1, 2, 3
Specifications
{{Specifications}}
Browser compatibility
{{Compat}}
See also
{{jsxref("Iterator")}}{{jsxref("Symbol.iterator")}}- Iteration protocols