This page was translated from English by the community.Learn more and join the MDN Web Docs community.
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)
In this article
Тип ошибки
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Смотрите также
for...offor...in– В строгом режиме инициализация тоже не разрешается (SyntaxError: for-in loop head declarations may not have initializers)for– Инициализация во время итерации разрешена.