本文へスキップ
BecomeCoder

JavaScriptのエラー · エラー12

is not iterable ― for...of で回せないものを回した

for...of や展開構文(...)は、配列文字列のように「反復可能(iterable)」なものにしか使えません。普通のオブジェクトに使うと出ます。

出るコード

const obj = { a: 1, b: 2 };
for (const item of obj) {   // 素のオブジェクトはそのままでは反復できない
  console.log(item);
}

エラーメッセージ

TypeError: obj is not iterable

直し方

Object.entries(obj)Object.keys(obj) で配列に変換してから for...of を使うか、オブジェクト用の for...in を使います。

for (const key in obj) {
  console.log(key, obj[key]);
}