Spec-Zone.ru › ESLint

no-lonely-if

Запретить операторы if в качестве единственного оператора в else блоках

🔧 Fixable

Некоторые проблемы, выявленные этой правилом, автоматически исправляются параметром --fix командной строки

Если оператор if является единственным оператором в else блоке, то зачастую более ясно использовать else if форму.

if (foo) {
    // ...
} else {
    if (bar) {
        // ...
    }
}

должно быть переписано как

if (foo) {
    // ...
} else if (bar) {
    // ...
}

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

Это правило запрещает операторы if в качестве единственного оператора в else блоках.

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

Открыть в Playground
/*eslint no-lonely-if: "error"*/

if (condition) {
    // ...
} else {
    if(anotherCondition){// ...}
}

if (condition) {
    // ...
} else {
    if(anotherCondition){// ...}else{// ...}
}

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

Открыть в Playground
/*eslint no-lonely-if: "error"*/

if (condition) {
    // ...
} else if (anotherCondition) {
    // ...
}

if (condition) {
    // ...
} else if (anotherCondition) {
    // ...
} else {
    // ...
}

if (condition) {
    // ...
} else {
    if (anotherCondition) {
        // ...
    }
    doSomething();
}

Когда не использовать

Отключите это правило, если код более понятен без требования else if формы.

Версия

Это правило было добавлено в ESLint v0.6.0.

Ссылки

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

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

Spec-Zone.ru

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