Disallow Unused Labels (no-unused-labels)

The --fix option on the command line can automatically fix some of the problems reported by this rule.

Labels that are declared and not used anywhere in the code are most likely an error due to incomplete refactoring.

OUTER_LOOP:
for (const student of students) {
    if (checkScores(student.scores)) {
        continue;
    }
    doSomething(student);
}

In this case, probably removing OUTER_LOOP: had been forgotten. Such labels take up space in the code and can lead to confusion by readers.

Rule Details

This rule is aimed at eliminating unused labels.

Examples of incorrect code for this rule:

/*eslint no-unused-labels: "error"*/

A: var foo = 0;

B: {
    foo();
}

C:
for (let i = 0; i < 10; ++i) {
    foo();
}

Examples of correct code for this rule:

/*eslint no-unused-labels: "error"*/

A: {
    if (foo()) {
        break A;
    }
    bar();
}

B:
for (let i = 0; i < 10; ++i) {
    if (foo()) {
        break B;
    }
    bar();
}

When Not To Use It

If you don't want to be notified about unused labels, then it's safe to disable this rule.

Version

This rule was introduced in ESLint 2.0.0-rc.0.

Resources

Js中文网,专注分享前端最新技术、大厂面试题、聊点程序员轶事、职场感悟,做前端技术的传播者.

加入前端布道师交流群

扫描二维码回复 加群 学习,与大厂大佬讨论技术.

BAT面试题大全