Skip to content

noDuplicateCase

诊断类别:lint/suspicious/noDuplicateCase

¥Diagnostic Category: lint/suspicious/noDuplicateCase

自从:v1.0.0

¥Since: v1.0.0

来源:

¥Sources:

禁止重复的案例标签。

¥Disallow duplicate case labels.

如果 switch 语句在 case 子句中有重复的测试表达式,则程序员很可能复制了 case 子句但忘记更改测试表达式。

¥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.

¥Examples

¥Invalid

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”:

¥Valid

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;
}

¥Related links