跳到正文

eslint/no-duplicate-case 正确性

此规则默认为打开。

用途

禁止重复 case 标签

为何不建议使用?

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

示例

以下代码示例对此规则来说是错误的

js
var a = 1,
  one = 1;
switch (a) {
  case 1:
    break;
  case 2:
    break;
  case 1: // duplicate test expression
    break;
  default:
    break;
}

switch (a) {
  case one:
    break;
  case 2:
    break;
  case one: // duplicate test expression
    break;
  default:
    break;
}

以下代码示例对此规则来说是正确的

js
var a = 1,
  one = 1;
switch (a) {
  case 1:
    break;
  case 2:
    break;
  default:
    break;
}

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

引用

以 MIT 许可协议发布。