no-lonely-if

不允许 if 语句作为 else 块中的唯一语句

🔧 Fixable

此规则报告的一些问题可通过 --fix 命令行选项自动修复

如果 if 语句是 else 块中的唯一语句,则使用 else if 形式通常更清楚。

¥If an if statement is the only statement in the else block, it is often clearer to use an else if form.

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

应该改写为

¥should be rewritten as

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

规则详情

¥Rule Details

此规则不允许 if 语句作为 else 块中的唯一语句。

¥This rule disallows if statements as the only statement in else blocks.

此规则的错误代码示例:

¥Examples of incorrect code for this rule:

在线运行
/*eslint no-lonely-if: "error"*/

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

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

此规则的正确代码示例:

¥Examples of correct code for this rule:

在线运行
/*eslint no-lonely-if: "error"*/

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

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

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

何时不使用

¥When Not To Use It

如果代码更清晰而不需要 else if 表单,则禁用此规则。

¥Disable this rule if the code is clearer without requiring the else if form.

版本

此规则是在 ESLint v0.6.0 中引入。

资源

ESLint 中文网
粤ICP备13048890号