eslint/no-dupe-else-if 正确性
它的作用
禁止在 if-else-if 链中出现重复的条件
为什么这是不好的?
if-else-if 链常用于需要根据某些条件仅执行一个分支(或最多一个分支)的情形。在同一链中出现两个相同的测试条件几乎总是代码中的错误。除非表达式中存在副作用,否则重复的条件将与链中较早的相同表达式得出相同的真或假值,这意味着其分支永远无法执行。
示例
此规则的错误代码示例:
javascript
if (a) {
foo();
} else if (b) {
bar();
} else if (b) {
baz();
}javascript
if (a || b) {
foo();
} else if (a) {
bar();
}javascript
if (n === 1) {
foo();
} else if (n === 2) {
bar();
} else if (n === 3) {
baz();
} else if (n === 2) {
quux();
} else if (n === 5) {
quuux();
}此规则的正确代码示例:
javascript
if (a) {
foo();
} else if (b) {
bar();
} else if (c) {
baz();
}javascript
if (a || b) {
foo();
} else if (c) {
bar();
}javascript
if (n === 1) {
foo();
} else if (n === 2) {
bar();
} else if (n === 3) {
baz();
} else if (n === 4) {
quux();
} else if (n === 5) {
quuux();
}如何使用
要通过配置文件或 CLI 启用此规则,可以使用:
json
{
"rules": {
"no-dupe-else-if": "error"
}
}bash
oxlint --deny no-dupe-else-if