no-extra-label

禁止不必要的标签

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

如果循环不包含嵌套循环或开关,则不需要标记循环。

A: while (a) {
    break A;
}

您可以通过移除标签并使用不带标签的 breakcontinue 来获得相同的结果。这些标签可能会让开发人员感到困惑,因为他们希望标签能跳得更远。

规则详情

该规则旨在消除不必要的标签。

Wk+Mu7oFIccqpNSe5orR05ZG/BDV40hHIKzF0SoJnVcuS8r6evQjx3oyoFn9+fZT

/*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;
}

UubGaThNGVSAZCEeqgdAAx/QE1uwW/De5ytjPBnKCKqeOsDZpJS0MvQSJQtY0WPI

/*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;
}

何时不使用

SffVY7Lc4VmPP9wWdc2cAv3+xZyG7hPuvnyiT20ZWxh0GVGOgVLW19YvZwMILrQWmsDZWpABNYRoBVeF54RuMGlVn73eWNDK4ThCA6F2S9JEfXhsnLh3gZr5Zz+rbIJq