在我们编写代码的过程当中,有可能会去出现这种判断条件潜逃的场景。而往往在出现这种 if ... else 多层潜逃的时候,我们都可以去通过提前 return 掉这样一些无效的条件,来达到优化层级的效果。
// 优化前
function doSomething (part, charpter) {
const parts = ['ES2016', '工程化', 'Vue', 'React', 'Node']
if (part) {
if (parts.includes(part)) {
console.log('属于当前课程')
if (charpter > 5) {
console.log('请提供 VIP 身份')
}
}
} else {
console.log('请确认模块信息')
}
}
// 优化后
function doSomething (part, charpter) {
if (!part) {
console.log('请确认模块信息') return
}
if(!parts.includes(part)) return
console.log('属于当前课程')
if (charpter > 5) {
console.log('请提供 VIP 身份')
}
}
doSomething('ES2016', 6)