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.
Standard  
ECMAScript 6 (ECMA-262)
The definition of 'Break statement' in that specification.
Release Candidate  

Compatibilidade de Browser

Funcionalidade Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
Funcionalidade Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Veja também

Etiquetas do documento e colaboradores

 Colaboradores desta página: LucasSan
 Última atualização por: LucasSan,