break
Sumário
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