bugl
bugl
HomeLearnPatternsPathsSearchPremium
HomeLearnPatternsPaths
Learn/JavaScript/JavaScript Foundations
JavaScript•JavaScript Foundations

JavaScript Break

The Break Statement

The break statement "jumps out" of loops and switches.

The break statement terminates the execution of a loop or a switch statement.

Break in Loops

The program control is transfered to the statements following the loop.

No more loop iterations are executed.

Example

for (let i = 0; i < 10; i++) {
  if (i === 3) { break; }
  text += "The number is " + i + "<br>";
}

You have already seen the break statement used in an earlier chapter of this tutorial.

It was used to "jump out" of a switch statement.

Break in a Switch

In a switch statement, a break statement will exit the switch block after a matching case is executed. Without break, execution would "fall through" to subsequent case blocks.

switch (new Date().getDay()) {
 case 0:
 day = "Sunday";
 break;
 case 1:
 day = "Monday";
 break;
 case 2:
 day = "Tuesday";
 break;
 case 3:
 day = "Wednesday";
 break;
 case 4:
 day = "Thursday";
 break;
 case 5:
 day = "Friday";
 break;
 case 6:
 day = "Saturday";
}

The break keyword is crucial for preventing a switch "fall-through."

Without break , the code will continue to execute the next case blocks (and the default block if present) even if their values do not match the expression .

JavaScript Labels

A label provides a name for a statement, or a block of statements, allowing statements to be referenced to, for program flow control, particularly in loops.

Syntax

A label is an identifier followed by a colon ( : ).

labelname
statement
;

A label precedes a statement or a block of code.

labelname
: {
statements
}

Labeled Break

Syntax

break
labelname
;

The break statement exits a loop or block and transfers the control to the labeled statement.

The break statement is particularly useful for breaking out of inner or outer loops from nested loops.

Example

let text = "";
loop1: for (let j = 1; j < 5; j++) {
  loop2: for (let i = 1; i < 5; i++) {
    if (i === 3) { break loop1; }
    text += i;
  }
}

Example

let text = "";
loop1: for (let j = 1; j < 5; j++) {
  loop2: for (let i = 1; i < 5; i++) {
    if (i === 3) { break loop2; }
    text += i;
  }
}

break and continue are the only JavaScript statements that can "jump out of" a code block.

A code block is a block of code between { and }.

Without a label reference, break can only jump out of a loop or a switch .

With a label reference, break can jump out of any code block :

Example

const cars = ["BMW", "Volvo", "Saab", "Ford"];
list: {
  text += cars[0] + "<br>";
  text += cars[1] + "<br>";
  break list;
  text += cars[2] + "<br>";
  text += cars[3] + "<br>";
}

Previous

JavaScript Switch Statement

Next

JavaScript Function Parameters

This chapter

Overview
51

Lessons

194m

Read time

1. JavaScript Tutorial2. JavaScript Syntax3. JavaScript Operators4. JavaScript if5. JavaScript Loops6. JavaScript Functions7. JavaScript Scope8. JavaScript Data Types9. JavaScript Style Guide10. JavaScript Introduction11. JavaScript Statements12. JavaScript Arithmetic13. JavaScript else14. JavaScript For Loop15. JavaScript Functions16. JavaScript Code Blocks17. JavaScript Primitives18. JavaScript Best Practices19. JavaScript Where To20. JavaScript Comments21. JavaScript Assignment22. The JavaScript Ternary Operator23. JavaScript While Loops24. Invoking JavaScript Functions25. JavaScript Hoisting26. JavaScript Built-In Objects27. JavaScript Common Mistakes28. JavaScript Output29. JavaScript Variables30. JavaScript Comparison31. JavaScript Switch Statement32. JavaScript Break33. JavaScript Function Parameters34. JavaScript Use Strict35. JavaScript typeof36. JavaScript Performance37. JavaScript Let38. JavaScript Conditionals39. JavaScript Booleans40. JavaScript Continue41. JavaScript Function Return42. JavaScript toString()43. JavaScript Const44. JavaScript Logical Operators45. JavaScript Control Flow46. JavaScript Function Arguments47. JavaScript Type Conversion48. JavaScript Datatypes49. JavaScript Function Expressions50. JavaScript Destructuring51. JavaScript Arrow Functions

On this page

The Break StatementBreak in LoopsBreak in a SwitchJavaScript LabelsLabeled Break