Skip to content
← Back to rules

eslint/no-extra-label 样式

🛠️ An auto-fix is available for this rule.

它的作用

禁止不必要的标签。

为什么这不好?

如果一个循环不包含嵌套循环或 switch,那么给该循环添加标签就是不必要的。

js
A: while (a) {
  break A;
}

通过移除标签并使用不带标签的 breakcontinue,可以达到相同的结果。 这些标签可能会让开发者感到困惑,因为他们通常期望标签用于跳转到更远的地方。

示例

以下是此规则的错误代码示例:

js
A: while (a) {
  break A;
}

B: for (let i = 0; i < 10; ++i) {
  break B;
}

C: switch (a) {
  case 0:
    break C;
}

以下是此规则的正确代码示例:

js
while (a) {
  break;
}

for (let i = 0; i < 10; ++i) {
  break;
}

switch (a) {
  case 0:
    break;
}

A: {
  break A;
}

B: while (a) {
  while (b) {
    break B;
  }
}

C: switch (a) {
  case 0:
    while (b) {
      break C;
    }
    break;
}

如何使用

To enable this rule using the config file or in the CLI, you can use:

json
{
  "rules": {
    "no-extra-label": "error"
  }
}
ts
import { defineConfig } from "oxlint";

export default defineConfig({
  rules: {
    "no-extra-label": "error",
  },
});
bash
oxlint --deny no-extra-label

版本

此规则添加于 v0.15.4。

参考资料