break

Baseline Widely available

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

Sumário

O comando break encerra o loop atual, switch, ou o loop que foi informado no label e transfere o controle da execução do programa para o comando seguinte.

Síntaxe

break [label];
label

Opcional. Identificador associado ao label de um comando. Se a estrutura não for um loop ou switch, ele será um pré-requisito.

Descrição

O comando break inclui um label opcional que permite ao programa encerrar a execução da estrutura que possui o nome informado na label. O comando break deve estar dentro dessa estrutura informada no label. A estrutura que possui o nome informada na label pode ser qualquer comando block; não é necessário que seja precedida por um loop.

Exemplos

A função a seguir possui um comando break que encerra o loop while quando a variável i vale 3, e então retorna o valor 3 * x.

js
function testaBreak(x) {
  var i = 0;

  while (i < 6) {
    if (i == 3) {
      break;
    }
    i += 1;
  }
  return i * x;
}

O código a seguir possui o comando break dentro de uma estrutura nomeada. O comando break deverá estar dentro da estrutura na qual o label se refere. Veja que inner_block está dentro de outer_block.

js
bloco_externo: {
  bloco_interno: {
    console.log("1");
    break bloco_externo; // encerra bloco_interno e bloco_externok
    console.log(":-("); // não é executado
  }

  console.log("2"); // não é executado
}

O código a seguir também utiliza o comando break com blocos nomeados mas gera um erro de sintaxe pois o comando break está dentro do bloco_1 mas faz uma referência ao bloco_2. Um comando break sempre deverá estar dentro da estrutura nomeada na qual fizer referência.

js
bloco_1:{
  console.log ('1');
  break bloco_2;            // SyntaxError: label not found
}

bloco_2:{
  console.log ('2');
}

Especificações

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

Compatibilidade com navegadores

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
break

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Veja também