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

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, это можно сделать в теле цикла.

let iterable = [10, 20, 30];

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

See also

Метки документа и участники

Метки: 
Внесли вклад в эту страницу: rsvato
Обновлялась последний раз: rsvato,