The --fix
option on the command line can automatically fix some of the problems reported by this rule.
If a loop contains no nested loops or switches, labeling the loop is unnecessary.
A: while (a) { break A; }
You can achieve the same result by removing the label and using break
or continue
without a label. Probably those labels would confuse developers because they expect labels to jump to further.
This rule is aimed at eliminating unnecessary labels.
Examples of incorrect code for this rule:
/*eslint no-extra-label: "error"*/ A: while (a) { break A; } B: for (let i = 0; i < 10; ++i) { break B; } C: switch (a) { case 0: break C; }
Examples of correct code for this rule:
/*eslint no-extra-label: "error"*/ while (a) { break; } for (let i = 0; i < 10; ++i) { break; } switch (a) { case 0: break; } A: { break A; } B: while (a) { while (b) { break B; } } C: switch (a) { case 0: while (b) { break C; } break; }
If you don’t want to be notified about usage of labels, then it’s safe to disable this rule.
This rule was introduced in ESLint 2.0.0-rc.0.
© JS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/rules/no-extra-label