Skip to content

Lección 15: Condicionales if / else if / else

Las estructuras condicionales permiten que tu programa tome decisiones basadas en condiciones. El bloque if es la forma más básica y fundamental de control de flujo.

if (condicion) {
// código que se ejecuta si la condición es true
}
if (condicion) {
// código si la condición es true
} else {
// código si la condición es false
}
if (condicion1) {
// código si condicion1 es true
} else if (condicion2) {
// código si condicion2 es true
} else {
// código si ninguna condición es true
}
  1. Siempre usa llaves {} aunque el bloque sea de una línea. Evita errores y mejora legibilidad.
// ✅ Bien
if (edad >= 18) {
console.log('Mayor de edad');
}
// ❌ Mal (propenso a errores)
if (edad >= 18)
console.log('Mayor de edad');
console.log('Siempre se ejecuta'); // ¡Esto NO está dentro del if!
  1. Evita anidación profunda. Si tienes 3 o más niveles de if anidados, probablemente hay una forma más limpia.

  2. Evalúa primero las condiciones más específicas.

let edad = 20;
let tieneIdentificacion = true;
// Condicional básico
if (edad >= 18) {
console.log('Eres mayor de edad');
} else {
console.log('Eres menor de edad');
}
// Múltiples condiciones
let nota = 85;
if (nota >= 90) {
console.log('Calificación: Excelente');
} else if (nota >= 70) {
console.log('Calificación: Aprobatoria');
} else if (nota >= 50) {
console.log('Calificación: Reprobatoria');
} else {
console.log('Calificación: Deficiente');
}
// Combinando con operadores lógicos
let hora = 14;
if (hora >= 6 && hora < 12) {
console.log('Buenos días');
} else if (hora >= 12 && hora < 18) {
console.log('Buenas tardes');
} else {
console.log('Buenas noches');
}
  1. Crea un archivo condicionales-if.js.
  2. Escribe un programa que pida (simule) la edad de una persona y muestre:
    • Si es menor de 12 años: “Eres un niño”
    • Si tiene entre 12 y 17: “Eres adolescente”
    • Si tiene entre 18 y 59: “Eres adulto”
    • Si tiene 60 o más: “Eres adulto mayor”
  3. Añade una segunda condición: si la persona es adulta y tiene licencia de conducir, muestra “Puedes conducir”.
let edad = 25;
let tieneLicencia = true;
if (edad < 12) {
console.log('Eres un niño');
} else if (edad >= 12 && edad <= 17) {
console.log('Eres adolescente');
} else if (edad >= 18 && edad <= 59) {
console.log('Eres adulto');
if (tieneLicencia) {
console.log('Además, puedes conducir');
}
} else {
console.log('Eres adulto mayor');
}

El orden de las condiciones importa. JavaScript evalúa de arriba a abajo y se detiene en la primera condición que sea true. Por eso es importante poner condiciones más específicas primero.

let x = 5;
if (x > 0) {
console.log('Positivo'); // ← esto se ejecuta
} else if (x > 3) {
console.log('Mayor que 3'); // ← esto nunca se ejecuta aunque sea más específico
}

Puedes asignar el resultado de un if a una variable. Aunque el ternario (próxima lección) es más elegante para esto, con if tradicional también funciona:

let mensaje;
if (edad >= 18) {
mensaje = 'Mayor de edad';
} else {
mensaje = 'Menor de edad';
}
console.log(mensaje);