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