Thanks to visit codestin.com
Credit goes to developer.mozilla.org

This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

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)

Тип ошибки

SyntaxError

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

В заголовке цикла 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

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