javascript エラー「SyntaxError: Cannot assign to the loop variable inside a for-in loop header.」の解決方法

javascript エラー「SyntaxError: Cannot assign to the loop variable inside a for-in loop header.」の解決方法

javascriptで、エラー「SyntaxError: Cannot assign to the loop variable inside a for-in loop header.」が発生した場合の原因と解決方法を記述してます。

環境

  • OS macOS Big Sur
  • ブラウザ safari 15.0

エラー内容

以下のコードを実行時に発生。

'use strict'

let obj = {a: 1, b: 2, c: 3 };

for (let i = 0 in obj) {
  console.log(obj[i]);
}

エラーメッセージ
※厳格モードの「use strict」のみ発生します。

SyntaxError: Cannot assign to the loop variable inside a for-in loop header.

画像

原因

for in に変数の初期化は必要ないため

解決方法

初期化しない

'use strict'

let obj = {a: 1, b: 2, c: 3 };

for (let i in obj) {
  console.log(obj[i]);
}

実行結果