break

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.

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.

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.

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

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

Especificações

Especificação Status Comentário
ECMAScript 1st Edition Standard Definição inicial. Versão sem o uso do label.
ECMAScript 3rd Edition Standard Versão com label adicionada.
ECMAScript 5.1 (ECMA-262)
The definition of 'Break statement' in that specification.
Padrão
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Break statement' in that specification.
Padrão

Compatibilidade com navegadores

BCD tables only load in the browser

Veja também