Typed array iteratorsBaseline · Widely available
Typed arrays are iterable with the for … of statement and enumerable with the methods entries(), keys(), and values().
Supported in all major browsers for at least 30 months — safe to use without fallbacks. Baseline since Sep 20, 2016. Widely available since Mar 20, 2019.
Browser support
DesktopChrome
1–44Not supported
45+Supportedsince Sep 1, 2015
Current: 155Edge
12+Supportedsince Jul 29, 2015
Current: 154Firefox
1–36Not supported
37+Supportedsince Mar 31, 2015
Current: 157Safari
1–9.1Not supported
10+Supportedsince Sep 20, 2016
Current: 27MobileChrome Android
18–44Not supported
45+Supportedsince Sep 1, 2015
Current: 155Firefox Android
4–36Not supported
37+Supportedsince Mar 31, 2015
Current: 157Safari iOS
1–9.3Not supported
10+Supportedsince Sep 13, 2016
Current: 27How to use
This feature is Baseline widely available — use it freely, no fallback needed.
Example
Full syntax and examples are on MDN: Symbol.iterator.
Feature detection
JS · check before using
// Syntax can't be tested with an if-statement — an unsupported
// browser fails to parse the whole script. Either transpile for older
// targets (e.g. Babel/TypeScript/esbuild), or probe in isolation:
let supported = true;
try {
new Function("/* code that uses the syntax */");
} catch {
supported = false;
}This is a language syntax feature.
Sub-features
Support for each part of the feature (4). The overall table above shows when the whole feature works.
| Sub-feature | Chrome | Edge | Firefox | Safari | Chrome Android | Firefox Android | Safari iOS |
|---|---|---|---|---|---|---|---|
| TypedArray.@@iterator | 38 | 12 | 36 | 10 | 38 | 36 | 10 |
| TypedArray.entries | 45 | 12 | 37 | 10 | 45 | 37 | 10 |
| TypedArray.keys | 38 | 12 | 37 | 10 | 38 | 37 | 10 |
| TypedArray.values | 38 | 12 | 37 | 10 | 38 | 37 | 10 |