CAP 03 · LEC 01·Control de flujo

if / else / else if: tomar decisiones en el código

El control de flujo es cómo el programa decide qué hacer. if/else es la estructura más fundamental y la más usada — conócela bien.

● PRINCIPIANTE7 min lectura4 ejerciciospor Fernando Herrera · actualizado mayo de 2026
¿Encontraste un error o algo que mejorar?Editá esta lección en GitHub →

La instrucción if

const edad = 20; if (edad >= 18) { console.log("Acceso permitido"); } // Si la condición es false, el bloque se salta
const edad: number = 20; if (edad >= 18) { console.log("Acceso permitido"); }
SalidaAcceso permitido

if / else

const hora = 14; if (hora < 12) { console.log("Buenos días"); } else { console.log("Buenas tardes o noches"); }
const hora: number = 14; if (hora < 12) { console.log("Buenos días"); } else { console.log("Buenas tardes o noches"); }
SalidaBuenas tardes o noches

else if: múltiples ramas

const nota = 75; if (nota >= 90) { console.log("Sobresaliente"); } else if (nota >= 70) { console.log("Notable"); } else if (nota >= 50) { console.log("Aprobado"); } else { console.log("Suspenso"); }
const nota: number = 75; if (nota >= 90) { console.log("Sobresaliente"); } else if (nota >= 70) { console.log("Notable"); } else if (nota >= 50) { console.log("Aprobado"); } else { console.log("Suspenso"); }
SalidaNotable

Condiciones con valores no booleanos

Cualquier valor puede usarse en una condición. JavaScript lo convierte automáticamente a boolean.

const nombre = ""; // falsy: string vacío if (nombre) { console.log(`Hola, ${nombre}`); } else { console.log("Nombre vacío"); } // → "Nombre vacío" // Patrón común: verificar existencia const usuario = null; if (usuario) { console.log(usuario.nombre); } // No ejecuta nada, evita el error
function saludar(nombre: string | null): void { if (nombre) { // TypeScript sabe que aquí nombre es string (no null) console.log(nombre.toUpperCase()); // ✅ } }

Condicionales en una línea

Para ejecutar una sola instrucción puedes omitir las llaves. Sin embargo, es una mala práctica — siempre usa llaves para evitar bugs:

// ❌ Evitar: sin llaves if (activo) console.log("activo"); // ✅ Siempre con llaves if (activo) { console.log("activo"); } // ✅ O usa el operador && para "ejecutar si es truthy" activo && console.log("activo");

Practica