eslint/no-extra-label 风格
它做了什么
禁止不必要的标签。
为什么这是个问题?
如果一个循环内部没有嵌套的循环或 switch 语句,那么为该循环添加标签是多余的。
js
A: while (a) {
break A;
}通过移除标签并直接使用 break 或 continue 而不带标签,可以达到相同的效果。
这些标签可能会让开发者感到困惑,因为他们通常期望标签能跳转到更远的位置。
示例
此规则的错误代码示例:
js
A: while (a) {
break A;
}
B: for (let i = 0; i < 10; ++i) {
break B;
}
C: switch (a) {
case 0:
break C;
}此规则的正确代码示例:
js
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;
}如何使用
要通过配置文件或 CLI 启用此规则,可以使用:
json
{
"rules": {
"no-extra-label": "error"
}
}bash
oxlint --deny no-extra-label