TechLead

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...of para arrays, es mas limpio que el for clasico
  • Usa for...in solo para objetos, no para arrays
  • Evita bucles infinitos verificando tu condicion de salida
  • Considera metodos de array como forEach, map, filter en vez de bucles