name: js-early-exit description: 使用早期返回来避免在循环和函数中进行不必要的计算。适用于处理数组、验证输入或检查多个条件,其中可以在所有迭代完成前确定结果。
函数的早期返回
当结果确定时尽早返回以跳过不必要的处理。这种优化特别有价值,当跳过的分支经常被采取或当延迟的操作很昂贵时。
不正确(即使在找到答案后仍处理所有项目):
function validateUsers(users: User[]) {
let hasError = false
let errorMessage = ''
for (const user of users) {
if (!user.email) {
hasError = true
errorMessage = 'Email required'
}
if (!user.name) {
hasError = true
errorMessage = 'Name required'
}
// 即使在找到错误后仍继续检查所有用户
}
return hasError ? { valid: false, error: errorMessage } : { valid: true }
}
正确(在第一个错误时立即返回):
function validateUsers(users: User[]) {
for (const user of users) {
if (!user.email) {
return { valid: false, error: 'Email required' }
}
if (!user.name) {
return { valid: false, error: 'Name required' }
}
}
return { valid: true }
}