Versions

no-lonely-if

Disallow if statements as the only statement in else blocks

🔧 Fixable

Some problems reported by this rule are automatically fixable by the --fix command line option

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

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

应改写为

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

规则细节

使用此规则禁用 if 语句。作为 else 块的唯一语句。

使用此规则的错误示例:

Open in Playground
/*eslint no-lonely-if: "error"*/

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

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

使用此规则的正确示例:

Open in 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 的形式,代码会更清晰,则禁用此规则。

Version

This rule was introduced in ESLint v0.6.0.

Resources

更改语言