Spec-Zone.ru › ESLint

для-направления

Выполнение условия обновления цикла «for», перемещающего счётчик в нужном направлении

✅ Рекомендуемое

Использование конфигурации recommended из @eslint/js в файле конфигурации файл конфигурации включает это правило

Цикл for с условием остановки, которого невозможно достичь, например, с счётчиком, перемещающимся в неправильном направлении, будет выполняться бесконечно. Хотя в некоторых случаях бесконечный цикл может быть намеренным, принято создавать такие циклы в виде циклов while. Чаще всего бесконечный for цикл является ошибкой.

Подробное описание правила

Это правило запрещает циклы for, в которых переменная счётчика изменяется таким образом, что условие остановки никогда не будет выполнено. Например, если переменная счётчика увеличивается (т.е. i++) и условие остановки проверяет, что счётчик больше нуля (i >= 0) , то цикл никогда не завершится.

Примеры неправильного кода для этого правила:

Открыть в Playground
/*eslint for-direction: "error"*/
for(var i =0; i <10; i--){}

for(var i =10; i >=0; i++){}

for(var i =0; i >10; i++){}

for(var i =0;10> i; i--){}

const n = -2;
for(let i =0; i <10; i += n){}

Примеры правильного кода для этого правила:

Открыть в Playground
/*eslint for-direction: "error"*/
for (var i = 0; i < 10; i++) {
}

for (var i = 0; 10 > i; i++) { // with counter "i" on the right
}

for (let i = 10; i >= 0; i += this.step) { // direction unknown
}

for (let i = MIN; i <= MAX; i -= 0) { // not increasing or decreasing
}

Версия

Это правило было добавлено в ESLint v4.0.0-beta.0.

Ресурсы

  • Исходный код правила
  • Исходный код тестов

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/for-direction

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API