no-lonely-if
不允许将if语句作为else块中的唯一语句( no-lonely-if )
在--fix
命令行上的选项可以自动修复一些被这条规则反映的问题。
如果一个if
陈述是该else
块中唯一的陈述,那么使用一个else if
表格通常会更清晰。
if (foo) {
// ...
} else {
if (bar) {
// ...
}
}
应改写为
if (foo) {
// ...
} else if (bar) {
// ...
}
规则细节
此规则不允许将if
语句作为else
块中的唯一语句。
此规则的错误
代码示例:
/*eslint no-lonely-if: "error"*/
if (condition) {
// ...
} else {
if (anotherCondition) {
// ...
}
}
if (condition) {
// ...
} else {
if (anotherCondition) {
// ...
} else {
// ...
}
}
此规则的正确
代码示例:
/*eslint no-lonely-if: "error"*/
if (condition) {
// ...
} else if (anotherCondition) {
// ...
}
if (condition) {
// ...
} else if (anotherCondition) {
// ...
} else {
// ...
}
if (condition) {
// ...
} else {
if (anotherCondition) {
// ...
}
doSomething(
}
何时不使用它
如果代码更清晰而不需要else if
表单,则禁用此规则。
版本
这条规则是在 ESLint 0.6.0 中引入的。