1.1 KiB
1.1 KiB
title, impact, impactDescription, tags
| title | impact | impactDescription | tags |
|---|---|---|---|
| Early Return from Functions | LOW-MEDIUM | 避免不必要的计算 | javascript, functions, optimization, early-return |
函数中的提前返回
当结果已确定时提前返回,以跳过不必要的处理。
错误做法(即使已找到答案仍继续处理所有项):
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 }
}