Когда вы используете классический цикл for
в стиле C, индекс не может быть константой, поскольку он увеличивается (или уменьшается) на каждой итерации.
for (let i=0; i < length; i++) { ... }
Я не рекомендую использовать var
для объявления и инициализации индекса, потому что он будет существовать за пределами цикла.Как правило, let
безопаснее, var
может создавать трудно обнаруживаемые ошибки.
Однако, когда вы используете цикл for of
или for in
, может быть неплохо использовать константу:
for (const item of arr) { ... }
или ...
for (const key in obj) { ... }
С этим можно обойтись, поскольку в циклах for of
и for in
индекс инициализируется в начале каждой итерации.Только не забудьте использовать for in
для итерации по строкам и массивам (упорядоченным структурам данных), потому что это может испортить порядок элементов (никогда не случалось со мной, но нет никаких гарантий, что это не произойдет).