Iterator.prototype[Symbol.iterator]()
{{JSRef}}
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