返回 AiToEarn
js-early-exit.md
1 ---
2 title: Early Return from Functions
3 impact: LOW-MEDIUM
4 impactDescription: avoids unnecessary computation
5 tags: javascript, functions, optimization, early-return
6 ---
7
8 ## Early Return from Functions
9
10 Return early when result is determined to skip unnecessary processing.
11
12 **Incorrect (processes all items even after finding answer):**
13
14 ```typescript
15 function validateUsers(users: User[]) {
16 let hasError = false
17 let errorMessage = ''
18
19 for (const user of users) {
20 if (!user.email) {
21 hasError = true
22 errorMessage = 'Email required'
23 }
24 if (!user.name) {
25 hasError = true
26 errorMessage = 'Name required'
27 }
28 // Continues checking all users even after error found
29 }
30
31 return hasError ? { valid: false, error: errorMessage } : { valid: true }
32 }
33 ```
34
35 **Correct (returns immediately on first error):**
36
37 ```typescript
38 function validateUsers(users: User[]) {
39 for (const user of users) {
40 if (!user.email) {
41 return { valid: false, error: 'Email required' }
42 }
43 if (!user.name) {
44 return { valid: false, error: 'Name required' }
45 }
46 }
47
48 return { valid: true }
49 }
50 ```
51
51 lines MARKDOWN