no-unused-labels
禁用未使用的标签
声明但未在代码中任何地方使用的标签很可能是由于不完整的重构而导致的错误。
OUTER_LOOP:
for (const student of students) {
if (checkScores(student.scores)) {
continue;
}
doSomething(student);
}
在这种情况下,可能忘记删除 OUTER_LOOP:
。这样的标签会占用代码空间,并可能导致读者感到困惑。
规则详情
此规则旨在消除未使用的标签。
此规则报告的问题可以自动修复,除非标签和以下语句之间有任何注释,或者当删除标签会导致以下语句变成指令(例如 "use strict"
)时。
此规则的 错误 代码示例
在 Playground 中打开
/*eslint no-unused-labels: "error"*/
: var foo = 0;
: {
foo();
}
:
for (let i = 0; i < 10; ++i) {
foo();
}
此规则的 正确 代码示例
在 Playground 中打开
/*eslint no-unused-labels: "error"*/
A: {
if (foo()) {
break A;
}
bar();
}
B:
for (let i = 0; i < 10; ++i) {
if (foo()) {
break B;
}
bar();
}
何时不使用
如果您不想收到关于未使用标签的通知,那么禁用此规则是安全的。
相关规则
版本
此规则在 ESLint v2.0.0-rc.0 中引入。