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 中引入的。