# no-lonely-if
禁止 if
语句作为 else
块中的唯一语句
一些该规则报告的问题可以通过 --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
表单,则禁用此规则。