Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. Anweisungen und Deklarationen
  5. break

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

break

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨Juli 2015⁩.

Diebreak-Anweisung beendet die aktuelle Schleife oder dieswitch-Anweisung und überträgt die Programmausführung auf die Anweisung, die der beendeten Anweisung folgt. Sie kann auch verwendet werden, um einemarkierte Anweisung zu überspringen, wenn sie innerhalb dieser markierten Anweisung verwendet wird.

Probieren Sie es aus

let i = 0;while (i < 6) {  if (i === 3) {    break;  }  i += 1;}console.log(i);// Expected output: 3

Syntax

js
break;break label;
labelOptional

Bezeichner, der mit dem Label der Anweisung verbunden ist, zu der unterbrochen werden soll. Wenn diebreak-Anweisung nicht innerhalb einer Schleife oder einerswitch-Anweisung verschachtelt ist, ist der Label-Bezeichner erforderlich.

Beschreibung

Wennbreak; auftritt, verlässt das Programm die innersteswitch- oderSchleifen- Anweisung und fährt mit der nächsten Anweisung danach fort.

Wennbreak label; auftritt, verlässt das Programm die mitlabel markierte Anweisung und fährt mit der nächsten Anweisung danach fort. Diebreak-Anweisung muss innerhalb des referenzierten Labels verschachtelt sein. Die markierte Anweisung kann jede beliebige Anweisung sein (üblicherweise eineblock-Anweisung); sie muss keine weitere Schleifenanweisung sein.

Einebreak-Anweisung, mit oder ohne folgendem Label, kann nicht auf der obersten Ebene eines Skripts, Moduls, Funktionskörpers oder imstatischen Initialisierungsblock verwendet werden, selbst wenn die Funktion oder Klasse weiter innerhalb einer Schleife enthalten ist.

Beispiele

break in while-Schleife

Die folgende Funktion enthält einebreak-Anweisung, die diewhile-Schleife beendet, wenni den Wert 3 hat, und dann den Wert3 * x zurückgibt.

js
function testBreak(x) {  let i = 0;  while (i < 6) {    if (i === 3) {      break;    }    i += 1;  }  return i * x;}

break in switch-Anweisungen

Der folgende Code enthält einebreak-Anweisung, die dieswitch-Anweisung beendet, wenn ein Fall abgeglichen wurde und der entsprechende Code ausgeführt wurde.

js
const food = "sushi";switch (food) {  case "sushi":    console.log("Sushi is originally from Japan.");    break;  case "pizza":    console.log("Pizza is originally from Italy.");    break;  default:    console.log("I have never heard of that dish.");    break;}

break in markierten Blöcken

Der folgende Code verwendetbreak-Anweisungen mit markierten Blöcken. Durch die Verwendung vonbreak outerBlock wird die Ausführung ans Ende des alsouterBlock markierten Blockstatements übertragen.

js
outerBlock: {  innerBlock: {    console.log("1");    break outerBlock; // breaks out of both innerBlock and outerBlock    console.log(":-("); // skipped  }  console.log("2"); // skipped}

Unsynaktische break-Anweisungen

Einebreak-Anweisung muss innerhalb einer markierten Anweisung verschachtelt sein, auf die sie sich bezieht. Der folgende Code verwendet ebenfallsbreak-Anweisungen mit markierten Blöcken, erzeugt jedoch einen Syntaxfehler, da seinebreak-Anweisung sich aufblock2 bezieht, jedoch nicht innerhalb vonblock2 verschachtelt ist.

js
block1: {  console.log("1");  break block2; // SyntaxError: label not found}block2: {  console.log("2");}

Syntaxfehler werden auch in den folgenden Codebeispielen erzeugt, diebreak-Anweisungen innerhalb von Funktionen verwenden, die innerhalb einer Schleife oder eines markierten Blocks verschachtelt sind, aus denen diebreak-Anweisungen ausbrechen sollen.

js
function testBreak(x) {  let i = 0;  while (i < 6) {    if (i === 3) {      (() => {        break;      })();    }    i += 1;  }  return i * x;}testBreak(1); // SyntaxError: Illegal break statement
js
block1: {  console.log("1");  (() => {    break block1; // SyntaxError: Undefined label 'block1'  })();}

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-break-statement

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2025 Movatter.jp