版本

no-extra-label

不允許不必要的標籤

🔧 可修復

此規則報告的一些問題可以透過 --fix 命令列選項自動修復

如果迴圈不包含巢狀迴圈或 switch,則標記迴圈是不必要的。

A: while (a) {
    break A;
}

您可以透過移除標籤並使用不帶標籤的 breakcontinue 來達到相同的效果。這些標籤可能會讓開發人員感到困惑,因為他們預期標籤會跳轉到更遠的地方。

規則詳情

此規則旨在消除不必要的標籤。

此規則的錯誤程式碼範例

在遊樂場中開啟
/*eslint no-extra-label: "error"*/

A: while (a) {
    break A;
}

B: for (let i = 0; i < 10; ++i) {
    break B;
}

C: switch (a) {
    case 0:
        break C;
}

此規則的正確程式碼範例

在遊樂場中開啟
/*eslint no-extra-label: "error"*/

while (a) {
    break;
}

for (let i = 0; i < 10; ++i) {
    break;
}

switch (a) {
    case 0:
        break;
}

A: {
    break A;
}

B: while (a) {
    while (b) {
        break B;
    }
}

C: switch (a) {
    case 0:
        while (b) {
            break C;
        }
        break;
}

何時不使用它

如果您不想收到有關標籤使用的通知,那麼禁用此規則是安全的。

版本

此規則是在 ESLint v2.0.0-rc.0 中引入的。

資源

變更語言