no-unused-labels
禁止未使用标签
在代码中声明但任何地方都没有使用的标签很可能是由于重构不完整导致的错误。
OUTER_LOOP:
for (const student of students) {
if (checkScores(student.scores)) {
continue;
}
doSomething(student);
}
在这种情况下,可能忘记删除OUTER_LOOP:
。此类标签占用代码空间,并可能导致读者混淆。
规则详情
此规则旨在消除未使用的标签。
此规则报告的问题可以自动修复,除非标签和后续语句之间有任何注释,或者删除标签会导致后续语句成为指令,例如"use strict"
。
此规则的错误代码示例
在游乐场中打开
/*eslint no-unused-labels: "error"*/
: var foo = 0;
: {
foo();
}
:
for (let i = 0; i < 10; ++i) {
foo();
}
此规则的正确代码示例
在游乐场中打开
/*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 中引入。