Files
freeCodeCamp/guide/spanish/javascript/loops/labeled-statement/index.md

81 lines
2.1 KiB
Markdown
Raw Normal View History

2018-10-12 15:37:13 -04:00
---
title: Labeled Statement
localeTitle: Declaración etiquetada
2018-10-12 15:37:13 -04:00
---
## Declaración etiquetada
2018-10-12 15:37:13 -04:00
La **Declaración etiquetada** se usa con las declaraciones `break` y `continue`, y sirve para identificar la declaración a la que se aplican las declaraciones `break` y `continue`.
2018-10-12 15:37:13 -04:00
### Sintaxis
```javascript
nombredelaetiqueta:
declaraciones
2018-10-12 15:37:13 -04:00
```
### Uso
Sin el uso de una declaración etiquetada, la declaración `break` solo podría salir de un bucle o de una declaración `switch`. Usar una declaración etiquetada permite al `break` saltar fuera de un bloque de código.
#### Example
```javascript
foo: {
console.log ("Esto imprime:");
break foo;
console.log ("Esto nunca se imprimirá");
}
console.log ("¡Porque la ejecución salta aquí!")
/* output
Esto imprime: ¡Porque la ejecución salta hasta aquí! */
2018-10-12 15:37:13 -04:00
```
Cuando se usa con una declaración continue, la declaración etiquetada te permite omitir una iteración de bucle. La ventaja es ser capaz de saltar de un bucle interno a un bucle externo cuando tienes declaraciones de bucles anidados. Sin el uso de una declaración etiquetada, tu solo podrías saltar de la iteración de bucle existente a la `siguiente iteración del mismo bucle`.
#### Example
```javascript
// sin declaración etiquetada, cuando j == i el bucle interno salta a la siguiente iteración
function test() {
for (var i = 0; i < 3; i++) {
console.log ("i=" + i);
for (var j = 0; j < 3; j++) {
if (j === i) {
continue;
}
console.log ("j=" + j);
}
}
}
2018-10-12 15:37:13 -04:00
/* output
i = 0 (observa que falta j = 0)
j = 1
j = 2
i = 1
j = 0 (observa que falta j = 1)
j = 2
i = 2
j = 0
j = 1 (observa que j = 2)
*/
2018-10-12 15:37:13 -04:00
// usando una declaración etiquetada, en cambio, podemos saltar al bucle externo (i)
function test() {
exterior: for (var i = 0; i < 3; i++) {
console.log ("i=" + i);
for (var j = 0; j < 3; j++) {
if (j === i) {
continue exterior;
}
console.log ("j=" + j);
}
}
}
2018-10-12 15:37:13 -04:00
/*
i = 0 (j solo se registra cuando es menor que i)
i = 1
j = 0
i = 2
j = 0
j = 1
*/
```
2018-10-12 15:37:13 -04:00
### Más información:
[MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/label)