--- title: label (Etiqueta) slug: Web/JavaScript/Reference/Statements/label tags: - JavaScript - Statement translation_of: Web/JavaScript/Reference/Statements/label ---
Provém uma declaração com um indentificador o qual pode ser referido posteriormente utilizando-se os comandos break ou continue.
Por exemplo, você pode usar um label para identificar um laço e então com um comando de break ou continue indicar se este deve ser interrompido ou então continuar sua execução.
label : declaração
label
declaração
Labels não são comunmente utilizados em JavaScript já que estes fazem com que programas fiquei mais difíceis de ler e entender. Sempre que possível evite utilizar labels e, dependendo dos casos, prefira chamar funções ou lançar um erro.
Exemplo com continue
var i, j; loop1: for (i = 0; i < 3; i++) { //O primeiro 'for' é etiquetado com "loop1" loop2: for (j = 0; j < 3; j++) { //O segundo é etiquetado com "loop2" if (i == 1 && j == 1) { continue loop1; } else { console.log("i = " + i + ", j = " + j); } } } // Sua saída é: // "i = 0, j = 0" // "i = 0, j = 1" // "i = 0, j = 2" // "i = 1, j = 0" // "i = 2, j = 0" // "i = 2, j = 1" // "i = 2, j = 2" // Note como pula-se "i = 1, j = 1" e "i = 1, j = 2"
(continue)
Dado uma lista de itens e outra de testes, este exemplo conta o número de ítens que passam em todos os testes.
var itemsPassed = 0; var i, j; top: for (i = 0; i < items.length; i++){ for (j = 0; j < tests.length; j++) if (!tests[j].pass(items[i])) continue top; itemsPassed++; }
(break)
Dado uma lista de ítens e uma lista de testes, neste exemplo determina-se se todos os ítens passam em todos os testes.
var allPass = true; var i, j; top: for (i = 0; items.length; i++) for (j = 0; j < tests.length; i++) if (!tests[j].pass(items[i])){ allPass = false; break top; }