Flujo de Control
if, switch, bucles
Flujo de Control
Las sentencias de flujo de control te permiten tomar decisiones y repetir acciones en tu codigo.
Sentencias if/else
const edad = 18;
if (edad >= 18) {
console.log("Eres adulto");
} else if (edad >= 13) {
console.log("Eres adolescente");
} else {
console.log("Eres nino");
}
// if de una linea (sin llaves)
if (edad >= 18) console.log("Adulto");
// Ternario para asignaciones simples
const mensaje = edad >= 18 ? "Adulto" : "Menor";
Sentencia switch
const dia = "lunes";
switch (dia) {
case "lunes":
case "martes":
case "miercoles":
case "jueves":
case "viernes":
console.log("Dia laboral");
break;
case "sabado":
case "domingo":
console.log("Fin de semana");
break;
default:
console.log("Dia invalido");
}
// No olvides el break! Sin el, la ejecucion "cae" al siguiente caso
Bucle for
// Bucle for clasico
for (let i = 0; i < 5; i++) {
console.log(i); // 0, 1, 2, 3, 4
}
// for...of (para iterables como arrays)
const frutas = ["manzana", "banana", "cereza"];
for (const fruta of frutas) {
console.log(fruta);
}
// for...in (para propiedades de objetos)
const persona = { nombre: "Ana", edad: 25 };
for (const clave in persona) {
console.log(`${clave}: ${persona[clave]}`);
}
Bucle while y do...while
// while - verifica condicion primero
let contador = 0;
while (contador < 3) {
console.log(contador);
contador++;
}
// do...while - ejecuta al menos una vez
let num = 5;
do {
console.log(num);
num++;
} while (num < 3); // Se imprime 5 aunque la condicion es falsa
break y continue
// break - sale del bucle completamente
for (let i = 0; i < 10; i++) {
if (i === 5) break;
console.log(i); // 0, 1, 2, 3, 4
}
// continue - salta a la siguiente iteracion
for (let i = 0; i < 5; i++) {
if (i === 2) continue;
console.log(i); // 0, 1, 3, 4 (salta el 2)
}
Consejos
- Usa
for...ofpara arrays, es mas limpio que el for clasico - Usa
for...insolo para objetos, no para arrays - Evita bucles infinitos verificando tu condicion de salida
- Considera metodos de array como
forEach,map,filteren vez de bucles