bugl
bugl
HomeLearnPatternsPathsSearch
HomeLearnPatternsPathsSearch

Loading lesson path

Learn/JavaScript/JavaScript Foundations
JavaScript•JavaScript Foundations

JavaScript Break

Flash cards

Review the key moves

1/4
Core idea

What is the main idea behind JavaScript Break?

Lesson checks

Practice each idea before moving on

Short Mimo-style checks built from this lesson's code, terms, and sequence.

1Quick choice

Which statement best captures the main point of this lesson?

2Fill blank

Complete the missing token from the example code.

___ (let i = 0; i < 10; i++) {
3Order

Put the learning moves in the order that makes the concept easiest to apply.

The break statement terminates the execution of a loop or a switch statement.
The break statement "jumps out" of loops and switches.
The Break Statement

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