Break and Continue
This lesson explains Break and Continue in JavaScript with beginner-friendly examples, practical use cases, and clear best practices.
JavaScript Break and Continue Overview
The JavaScript break and continue statements are
loop control statements that change the normal execution flow of loops and
switch statements. They help developers stop a loop early or
skip specific iterations, making code more efficient and easier to read.
The break statement immediately exits the current loop or
switch statement, while the continue statement
skips the current iteration and proceeds to the next one. These statements
are commonly used with for, while,
do...while, and for...of loops.
| Statement | Purpose | Common Usage |
| break | Stops loop execution immediately. | Exit when a condition is satisfied. |
| continue | Skips the current iteration. | Ignore unwanted values. |
| break in switch | Prevents fall-through. | End a matching case. |
JavaScript Break and Continue Example
// Break example
for (let i = 1; i <= 10; i++) {
if (i === 6) {
break;
}
console.log(i);
}
// Continue example
for (let i = 1; i <= 10; i++) {
if (i === 6) {
continue;
}
console.log(i);
}
The first loop stops completely when the value reaches 6. The second loop
skips printing 6 and continues processing the remaining values.
When to Use break and continue
| Scenario | Recommended Statement |
| Stop searching after finding a match. | break |
| Exit a switch case. | break |
| Skip invalid records. | continue |
| Ignore empty values during iteration. | continue |
| End a loop when the goal is achieved. | break |
Top 10 Useful break and continue Examples
| # | Use Case | Statement | Condition Example | Result |
| 1 | Stop search after first match | break | if (item.id === targetId) | Loop exits immediately after finding the match. |
| 2 | Exit loop on critical error | break | if (!isValid(record)) | Processing stops to prevent bad operations. |
| 3 | Break from input prompt loop | break | if (input === "quit") | User can stop loop interaction cleanly. |
| 4 | Prevent switch fall-through | break | case "admin": ... break; | Only matching case executes. |
| 5 | Stop at threshold | break | if (total > limit) | Loop ends once target/limit is reached. |
| 6 | Skip empty values | continue | if (value === "") | Empty values are ignored and loop continues. |
| 7 | Skip odd numbers | continue | if (num % 2 !== 0) | Processes only even numbers. |
| 8 | Skip unauthorized users | continue | if (!user.isActive) | Inactive users are skipped during iteration. |
| 9 | Skip invalid API records | continue | if (!row.email) | Invalid records are skipped safely. |
| 10 | Skip current loop index | continue | if (i === 5) | Specific iteration is ignored; loop continues. |
Best Practices
- Use
break to exit loops as soon as the required result is found. - Use
continue to skip invalid or unnecessary data. - Avoid excessive use of loop control statements because they can reduce readability.
- Always document complex loop logic with meaningful variable names.
- Use
break in every switch case unless fall-through is intentional. - Keep loop bodies small and easy to understand.
- Test loop exit conditions carefully to avoid unexpected behavior.
- Consider using array methods such as
find or filter when appropriate.
Common Mistakes
- Forgetting the
break statement in a switch case. - Using
continue when the loop should stop completely. - Creating infinite loops by missing an exit condition.
- Adding unnecessary
break statements. - Writing complicated loop logic with multiple break points.
- Skipping important iterations accidentally.
- Using loop control statements when simpler logic would improve readability.
Key Takeaways
- The
break statement immediately exits a loop or switch statement. - The
continue statement skips the current iteration and continues looping. - Use
break when further iterations are unnecessary. - Use
continue to ignore specific values while processing data. - Proper use of loop control statements improves performance and code clarity.
- Readable loop logic is easier to debug and maintain.
Pro Tip
Use break to stop searching once the desired result is found,
and use continue to skip invalid data without stopping the
entire loop. This can improve both performance and code readability.