SyntaxError: a declaration in the head of a for-of loop can't have an initializer

Сообщение

SyntaxError: a declaration in the head of a for-of loop can't have an initializer (Firefox)

SyntaxError: for-of loop variable declaration may not have an initializer. (Chrome)

Тип ошибки

Что случилось?

В заголовке цикла for...of инициализируется переменная. Иными словами, переменная объявляется и получает значение|for (var i = 0 of iterable)|. В подобных циклах это не допускается. Инициализировать переменные можно в циклах for.

Примеры

Неправильный цикл for-of

js
let iterable = [10, 20, 30];

for (let value = 50 of iterable) {
  console.log(value);
}

// SyntaxError: a declaration in the head of a for-of loop can't
// have an initializer

Правильный цикл for-of

Надо убрать инициализацию (value = 50) в заголовке цикла for-of. Если требуется использовать смещение 50, это можно сделать в теле цикла.

js
let iterable = [10, 20, 30];

for (let value of iterable) {
  value += 50;
  console.log(value);
}
// 60
// 70
// 80

Смотрите также