noDuplicateCase
诊断类别:lint/suspicious/noDuplicateCase
¥Diagnostic Category: lint/suspicious/noDuplicateCase
自从:v1.0.0
¥Since: v1.0.0
来源:
¥Sources:
-
与以下相同:
no-duplicate-case
¥Same as:
no-duplicate-case
禁止重复的案例标签。
¥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