版本

no-lonely-if

禁止 if 语句作为 else 块中唯一的语句

🔧 可修复

此规则报告的一些问题可以通过 --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 中引入。

资源

更改语言