Control de flujo
JavaScript
Contenido:
01 — IF
02 — ELSE
03 — WHILE
04 — Loop Infinito
05 — DO WHILE
06 — FOR
07 — FOR OF
08 — FOR IN
09 — BREAK CONTINUE
10 — SWITCH
01 — IF
El control de flujo en JavaScript, especialmente la sentencia if, permite que el programa tome decisiones basadas en específicas. La sentencia if evalúa una condición y ejecuta un bloque de código solo si la condición es verdadera. Si la condición es falsa, se omite el bloque de código y se continua con la ejecución del programa. La sintaxis básica de una sentencia if es:
let edad = 15;
if (edad > 17) {
console.log('Usuario mayor de edad');
}
02 — ELSE
El control de flujo en JavaScript permite ejecutar bloques de código condicionalmente, basándose en diferentes condiciones. La sentencia else es una parte de la estructura if…else, que se utiliza para ejecutar un bloque de código si una condición no se cumple. Si la condición evaluada en el if es falsa, se ejecuta el bloque de código dentro del else. No se requiere una condición para el else.
let edad = 14;
if (edad > 17) {
console.log('Usuario mayor de edad');
} else if (edad > 13) {
console.log('Usuario acompañado');
} else {
console.log('No puede ingresar');
}
03 — WHILE
El control de flujo while en JavaScript es una estructura de bucle que permite ejecutar un bloque de código repetidamente mientras una condición específica sea verdadera. La estructura básica del bucle whilese ve así:
// cuales son los números pares
let i = 0;
while (i < 10) {
if (i % 2 == 0) {
console.log(i);
}
i++;
}
console.log('fuera del while');
04 — Loop Infinito
El control de flujo en JavaScript permite alterar el orden en que se ejecutan las instrucciones en un programa. Entre las estructuras de control de flujo se encuentra el bucle infinito, que se ejecuta continuamente hasta que se fuerza una salida del bucle usando la directiva especial break. Por ejemplo, un bucle infinito puede verse así:
let i = 0;
while (i < 10) {
console.log(i);
i++; //para ver el loop infinito comentar esta linea
}
05 — DO WHILE
El control de flujo en JavaScript permite ejecutar bloques de código de manera condicional o iterativa. La sentencia do…while es una estructura de control que ejecuta un bloque de código al menos una vez, ya que la condición se evalúa después de la ejecución del bloque. Esto significa que el bloque se ejecutará al menos una vez, independientemente de si la condición es verdadera o falsa al inicio del bucle.
La sintaxis básica de do…while es la siguiente:
let i = 2;
//evalua al principio
while (i < 2) {
console.log(i);
i++;
}
// evalua al final
do {
if (i % 2 == 0)
{
console.log('Numero par',i);
}
i++;
} while (i < 2);
06 — FOR
El control de flujo en JavaScript, especialmente la sentencia for, es una estructura que permite repetir un bloque de código un número específico de veces. Esta sentencia es comúnmente utilizada para iterar sobre arrays, como se muestra en el siguiente ejemplo:
for (let i = 0; i < array.length; i++) {
// código a ejecutar en cada iteración
}
Además, la sentencia for también puede ser utilizada para iterar sobre los elementos de un objeto en un orden arbitrario, como se muestra a continuación:
var automovil = {
marca: "Audi",
modelo: "A1",
año: 2020
}
for (var dato in automovil) {
console.log(dato + " es " + automovil[dato]);
}
Esta estructura de control es esencial para tomar decisiones y crear lógica en aplicaciones web, mejorando la experiencia del usuario y evitando errores en el código.
07 — FOR OF
Entre las estructuras de control de flujo, se encuentra la sentencia for…of, que se utiliza para iterar sobre elementos de un array o cualquier otro objeto iterable en JavaScript.
La sentencia for…of itera sobre los elementos de un array en un orden secuencial, ejecutando el bloque de código una vez por cada elemento. Por ejemplo:
let animales = ['Leon', 'Dragon', 'Perro'];
for (let animal of animales) {
console.log(animal);
}
let i=0;
while (i < animales.length) {
console.log(animales[i]);
i++;
}
08 — FOR IN
La sentencia for…in itera sobre los elementos de un objeto en un orden arbitrario, ejecutando el bloque de código una vez por cada propiedad del objeto. La variable a la izquierda de in representa el nombre de la propiedad del objeto correspondiente a la iteración en curso.
Por ejemplo, si tienes un objeto como este:
// itera las propiedades de un objeto
let user = {
i d: 1,
name: 'Daniel',
age: 49,
}
for (let prop in user) {
console.log(prop, user[prop]);
}
let animales = ['Tigre', 'Leon', 'Guepardo'];
for (let indice in animales) {
console.log(indice, animales[indice]);
}
09 — BREAK CONTINUE
En JavaScript, las declaraciones break y continue son utilizadas para controlar el flujo de los bucles.
La declaración break se utiliza para salir inmediatamente de un bucle o una sentencia
switch. Esto significa que el programa deja de ejecutar el bucle o la sentencia switch y continua con la siguiente instrucción después del bucle o la sentencia switch .
Por otro lado, la declaración continue se utiliza para terminar la ejecución de las sentencias de la iteración actual del bucle y continuar con la siguiente iteración del bucle.
Ambas declaraciones pueden incluir una etiqueta opcional que permite al programa saltar a la siguiente iteración del bucle etiquetado en lugar del bucle actual.
En resumen, break detiene completamente la ejecución del bucle, mientras que continue detiene la iteración actual pero permite que el bucle continúe con la siguiente iteración.
let i = 0;
while (i < 6) {
i++;
if (i === 2) {
continue; //todo lo que viene después se ignora y vuelve al comienzo, se salta esa parte de esa iteracion
}
if (i === 4) {
break; //cuando llegue a 4 detiene la iteración
}
console.log(i);
}
10 — SWITCH
La estructura de control switch en JavaScript se utiliza para tomar decisiones en función de distintos estados o valores de una variable. Esta estructura permite evaluar una expresión y ejecutar un bloque de código asociado a un caso específico cuando la expresión coincide con un valor determinado. La sintaxis básica de switch es la siguiente:
switch (expresión) {
case valor1:
// Declaraciones ejecutadas cuando la expresión coincide con valor1
[break;]
case valor2:
// Declaraciones ejecutadas cuando la expresión coincide con valor2
[break;]
...
case valorN:
// Declaraciones ejecutadas cuando la expresión coincide con valorN
[break;]
default:
// Declaraciones ejecutadas si la expresión no coincide con ninguno de los valores anteriores
[break;]
}
La expresión se evalúa y se compara con cada uno de los valores de los casos. Si se encuentra una coincidencia, se ejecutan las declaraciones asociadas a ese caso hasta que se encuentra una sentencia break o se alcanza el final del bloque switch. Si no se encuentra ninguna coincidencia, se ejecutan las declaraciones asociadas al caso default, si está presente.
La sentencia break es opcional pero recomendada, ya que sin ella, el programa continuará ejecutando las declaraciones de los casos siguientes hasta encontrar un break o alcanzar el final del bloque switch. Si se omite break, el programa continuará ejecutando las declaraciones de los casos siguientes, lo que puede llevar a resultados no deseados.
Por ejemplo, en el siguiente código se utiliza switch para mostrar el número de días de un mes:
var mes = 1;
switch (mes) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
console.log("El mes tiene 31 días.");
break;
case 4:
case 6:
case 9:
case 11:
console.log("El mes tiene 30 días.");
break;
case 2:
console.log("El mes tiene 28 o 29 días.");
break;
default:
console.log("¡Imposible!");
}
En este ejemplo, si mes es 1, 3, 5, 7, 8, 10 o 12, se ejecutarán las declaraciones asociadas a esos casos y se terminará el bloque switch con break. Si mes es 2, se ejecutarán las declaraciones asociadas a ese caso. Si mes no coincide con ninguno de los valores anteriores, se ejecutarán las declaraciones asociadas al caso mesdefault.
