跳转到内容

noDuplicateCase

Diagnostic Category: lint/suspicious/noDuplicateCase

Since: v1.0.0

Sources:

Disallow duplicate case labels.

If a switch statement has duplicate test expressions in case clauses, it is likely that a programmer copied a case clause but forgot to change the test expression.

switch (a) {
case 1:
break;
case 1:
break;
default:
break;
}
code-block.js:4:10 lint/suspicious/noDuplicateCase ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Duplicate case label.

2 │ case 1:
3 │ break;
> 4 │ case 1:
^
5 │ break;
6 │ default:

The first similar label is here:

1 │ switch (a) {
> 2 │ case 1:
^
3 │ break;
4 │ case 1:

switch (a) {
case one:
break;
case one:
break;
default:
break;
}
code-block.js:4:10 lint/suspicious/noDuplicateCase ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Duplicate case label.

2 │ case one:
3 │ break;
> 4 │ case one:
^^^
5 │ break;
6 │ default:

The first similar label is here:

1 │ switch (a) {
> 2 │ case one:
^^^
3 │ break;
4 │ case one:

switch (a) {
case "1":
break;
case "1":
break;
default:
break;
}
code-block.js:4:10 lint/suspicious/noDuplicateCase ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Duplicate case label.

2 │ case “1”:
3 │ break;
> 4 │ case “1”:
^^^
5 │ break;
6 │ default:

The first similar label is here:

1 │ switch (a) {
> 2 │ case “1”:
^^^
3 │ break;
4 │ case “1”:

switch (a) {
case 1:
break;
case 2:
break;
default:
break;
}
switch (a) {
case one:
break;
case two:
break;
default:
break;
}
switch (a) {
case "1":
break;
case "2":
break;
default:
break;
}