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® 2026 Language Specification
# sec-break-statement

Compatibilidade com navegadores

Veja também