Iterator.prototype[Symbol.iterator]()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The [Symbol.iterator]()
method of 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 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
Specification |
---|
ECMAScript Language Specification # sec-%iteratorprototype%-%symbol.iterator% |
Browser compatibility
BCD tables only load in the browser