Skip to content
← Back to rules

eslint/no-duplicate-case 正确性

This rule is turned on by default.

它做了什么

禁止重复的 case 标签

为什么这是个问题?

如果 switch 语句中的 case 子句包含重复的测试表达式,很可能是程序员复制了 case 子句但忘记修改测试表达式。

示例

此规则的 错误 代码示例:

js
var a = 1,
  one = 1;
switch (a) {
  case 1:
    break;
  case 2:
    break;
  case 1: // 重复的测试表达式
    break;
  default:
    break;
}

switch (a) {
  case one:
    break;
  case 2:
    break;
  case one: // 重复的测试表达式
    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;
}

如何使用

通过配置文件或 CLI 启用此规则,可以使用:

json
{
  "rules": {
    "no-duplicate-case": "error"
  }
}
bash
oxlint --deny no-duplicate-case

参考资料