Files
2026-07-13 21:36:17 +08:00

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 }
}