版本

no-extra-label

不允許不必要的標籤

🔧 可修正

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

❄️ 凍結

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

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

A: while (a) {
    break A;
}

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

規則詳情

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

此規則的錯誤程式碼範例

在 Playground 中開啟
/*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;
}

此規則的正確程式碼範例

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

資源

變更語言