版本

no-lonely-if

不允許 if 陳述式作為 else 區塊中唯一的陳述式

🔧 可修正

此規則回報的某些問題可以透過 --fix 命令列 選項自動修正

❄️ 凍結

此規則目前為凍結狀態,且不接受功能請求。

如果 if 陳述式是 else 區塊中唯一的陳述式,通常使用 else if 形式會更清楚。

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

應重寫為

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

規則詳情

此規則不允許 if 陳述式作為 else 區塊中唯一的陳述式。

此規則的不正確程式碼範例

在遊樂場開啟
/*eslint no-lonely-if: "error"*/

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

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

此規則的正確程式碼範例

在遊樂場開啟
/*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 中引入。

資源

變更語言