Skip to content
JS
JavaScript error

TypeError

The JavaScript exception "is not iterable" occurs when the value which is spread into an array or function call, given as the right-hand side of for...of, as an argument of a function such as Promise.all or Set(), or as the right-hand side of an array destructuring, is not an iterable object. This error is also encountered when Array.fromAsync() or for await...of is used with a non-async iterable.

Reference entryJavaScriptFetched
TypeError: Spread syntax requires ...iterable[Symbol.iterator] to be a function (V8-based & Safari)
As listed by MDN Web Docs
TypeError: %Array%.from requires that the property of the first argument, items[Symbol.iterator], when exists, be a function (V8-based & Safari)
As listed by MDN Web Docs
TypeError: Array.fromAsync requires that the property of the first argument, items[Symbol.asyncIterator], when exists, be a function (V8-based & Safari)
As listed by MDN Web Docs
TypeError: object is not iterable (cannot read property Symbol(Symbol.iterator)) (V8-based)
As listed by MDN Web Docs
TypeError: x is not async iterable (V8-based)
As listed by MDN Web Docs
TypeError: x is not iterable (V8-based & Firefox)
As listed by MDN Web Docs
TypeError: undefined is not a function (near '...y of x...') (Safari)
As listed by MDN Web Docs
TypeError: Array.from: no function (Safari)
As listed by MDN Web Docs
TypeError: Type error (Safari)
As listed by MDN Web Docs
Category
TypeError
Severity
error
Runtime
both
or press Cmd/Ctrl + Enter. The text is only sent to this site to match it.
Source: MDN Web Docs. Data fetched 2026-09-25T01:48:37.274Z.