Lección 5 de 12 · Lectura y práctica
Condicionales if, else if y else
CONCEPTO CLAVE: Los condicionales if, else if y else son estructuras fundamentales en JavaScript que permiten ejecutar diferentes bloques de código según se cumplan o no determinadas condiciones. Son la base de la toma de.
Del concepto a la práctica
Taller de esta lección
Un condicional debe ordenar alternativas que no se solapen. Para clasificar el avance de una lectura, primero se puede detectar el caso terminado, después un progreso suficiente y finalmente el resto. La secuencia importa porque el programa ejecuta la primera rama verdadera.
Ejemplo resuelto
const leidas = 72;
const total = 120;
const porcentaje = leidas / total * 100;
let estado;
if (porcentaje === 100) estado = "terminada";
else if (porcentaje >= 50) estado = "avanzada";
else estado = "inicial";
console.log(porcentaje, estado); // 60 avanzadaEl porcentaje se obtiene de páginas, no de una cifra arbitraria.
Pruébalo
Define
leidasytotal.Calcula el porcentaje.
Mantén las tres ramas.
Prueba con 120, 60 y 12 páginas leídas.
Error frecuente: colocar porcentaje >= 50 antes de porcentaje === 100 y clasificar una lectura terminada como avanzada. Corrección: ubica el caso más específico primero.
Las salidas esperadas son terminada, avanzada e inicial, respectivamente.
Comprueba tu resultado
Comprueba también leidas = 0; debe producir inicial sin división por cero porque total permanece en 120.

Mapa de prácticaUna condición decide qué camino ejecuta el programa. Un bucle repite una operación mientras queden elementos, y termina cuando la lista se agota. Separar ambas ideas ayuda a seguir el flujo y comprobar casos límite.
Ver la infografía en tamaño completo ↗¿Qué son los condicionales?
Imagina que estás programando un sistema de recomendaciones para una tienda en línea. Cuando un cliente compra más de 100 dólares, quieres ofrecerle un descuento del 10%. Si compra más de 200 dólares, el descuento sube al 20%. Y si no llega a 100 dólares, simplemente le muestras el precio normal. ¿Cómo haces esto en código? Con los condicionales.
Los condicionales son estructuras de control que evalúan una expresión y, dependiendo de si es verdadera (true) o falsa (false), ejecutan un bloque de código u otro. En JavaScript, la estructura básica se compone de tres palabras clave: if, else if y else.
La estructura básica: if
El condicional if es la estructura más simple. Evalúa una condición entre paréntesis y, si es verdadera, ejecuta el bloque de código entre las llaves.
let edad = 18;
if (edad >= 18) {
console.log("Eres mayor de edad");
}
// Salida: "Eres mayor de edad"En este ejemplo, la condición edad >= 18 se evalúa como verdadera porque edad es 18, por lo tanto, el mensaje se imprime en la consola.
if, siempre debes escribir la condición entre paréntesis. El bloque de código a ejecutar va entre llaves { }. Si solo tienes una línea de código, las llaves son opcionales, pero es una buena práctica incluirlas siempre para mayor claridad.Manejando el caso contrario: else
¿Y qué pasa cuando la condición es falsa? Aquí entra en juego else. El bloque else se ejecuta únicamente cuando la condición del if es falsa.
let temperatura = 15;
if (temperatura > 30) {
console.log("Hace mucho calor");
} else {
console.log("El clima es agradable o frío");
}
// Salida: "El clima es agradable o frío"En este caso, como 15 no es mayor que 30, la condición es falsa, por lo que se ejecuta el bloque del else.
Evaluando múltiples condiciones: else if
A veces necesitas evaluar más de dos situaciones. Para eso existe else if, que te permite encadenar múltiples condiciones una tras otra.
let calificacion = 85;
if (calificacion >= 90) {
console.log("Excelente");
} else if (calificacion >= 80) {
console.log("Muy bien");
} else if (calificacion >= 70) {
console.log("Bien");
} else if (calificacion >= 60) {
console.log("Suficiente");
} else {
console.log("Necesitas mejorar");
}
// Salida: "Muy bien"Ejemplo práctico: Sistema de envío
Vamos a crear un ejemplo completo que simule un sistema de cálculo de costos de envío:
- Declaramos una variable para el total de la compra
- Evaluamos diferentes rangos de compra
- Aplicamos la lógica de envío correspondiente
let totalCompra = 150;
let costoEnvio;
if (totalCompra >= 200) {
costoEnvio = 0;
console.log("¡Envío gratis!");
} else if (totalCompra >= 100) {
costoEnvio = 5.99;
console.log("Envío reducido: $5.99");
} else {
costoEnvio = 12.99;
console.log("Envío estándar: $12.99");
}
console.log("Costo final: $" + (totalCompra + costoEnvio));
// Salida: "Envío reducido: $5.99"
// Salida: "Costo final: $155.99"else if como dos palabras separadas (elseif o else if con espacio extra). En JavaScript, debe ser exactamente else if (con espacio) o podrías obtener errores de sintaxis inesperados.Operadores de comparación
Para escribir condiciones efectivas, necesitas conocer los operadores de comparación disponibles en JavaScript:
| Operador | Significado | Ejemplo |
|---|---|---|
| === | Estrictamente igual (valor y tipo) | 5 === "5" es false |
| !== | Estrictamente diferente | 5 !== "5" es true |
| > | Mayor que | 10 > 5 es true |
| < | Menor que | 3 < 7 es true |
| >= | Mayor o igual que | 10 >= 10 es true |
| <= | Menor o igual que | 5 <= 5 es true |
=== (comparación estricta) en lugar de == (comparación débil). La comparación estricta verifica tanto el valor como el tipo de dato, evitando comportamientos inesperados.Condiciones compuestas con operadores lógicos
Puedes combinar múltiples condiciones usando operadores lógicos: && (AND), || (OR) y ! (NOT).
let edad = 25;
let tieneCredencial = true;
if (edad >= 18 && tieneCredencial) {
console.log("Puedes entrar al evento");
} else {
console.log("No cumples los requisitos");
}
// Salida: "Puedes entrar al evento"Ver más sobre operadores lógicos
AND (&&): Todas las condiciones deben ser verdaderas para que el resultado sea verdadero.
OR (||): Al menos una condición debe ser verdadera para que el resultado sea verdadero.
NOT (!): Invierte el valor de la condición: true se convierte en false, y viceversa.
Anidamiento de condicionales
Puedes colocar condicionales dentro de otros condicionales. Esto se conoce como anidamiento y es útil para situaciones más complejas.
let usuario = {
nombre: "María",
esMiembro: true,
puntos: 450
};
if (usuario.esMiembro) {
console.log("Bienvenida, " + usuario.nombre);
if (usuario.puntos >= 500) {
console.log("Tienes acceso VIP");
} else {
console.log("Tienes acceso estándar");
}
} else {
console.log("Regístrate para obtener beneficios");
}
// Salida: "Bienvenida, María"
// Salida: "Tienes acceso estándar"El buen código no es solo el que funciona, sino el que otros pueden entender y mantener fácilmente.
El operador ternario: alternativa rápida
Para condiciones simples de una sola línea, JavaScript ofrece el operador ternario, una forma más compacta de escribir un if-else.
// Forma tradicional con if-else
let estado;
if (edad >= 18) {
estado = "adulto";
} else {
estado = "menor";
}
// Forma con operador ternario
let estado = (edad >= 18) ? "adulto" : "menor";
// La sintaxis es: condición ? valorSiVerdadero : valorSiFalsoComparación de estructuras
| Estructura | Uso | Mejor para |
|---|---|---|
| if | Una sola condición | Verificaciones simples |
| if...else | Dos caminos posibles | Sí o no, verdadero o falso |
| if...else if...else | Múltiples condiciones | Evaluación de rangos o múltiples casos |
| Operador ternario | Condición simple en una línea | Asignaciones rápidas |
if para condiciones simples, else if para múltiples evaluaciones y else para el caso por defecto cuando ninguna condición se cumple.Errores comunes que debes evitar
- Olvidar las llaves: Especialmente cuando agregas más líneas de código después, las llaves son cruciales.
- Confundir = con ===: Un solo = asigna valor, === compara. Este error puede causar bugs difíciles de detectar.
- Condiciones con efectos secundarios: Evita modificar variables dentro de las condiciones, esto hace el código confuso.
- Orden incorrecto: Recuerda que else if se evalúa en orden. Coloca las condiciones más específicas primero.
¿Qué se imprimirá en la consola con el siguiente código? let nivel = 75; if (nivel >= 90) { console.log("Experto"); } else if (nivel >= 70) { console.log("Avanzado"); } else { console.log("Principiante"); }
- A) Experto
- B) Avanzado
- C) Principiante
Sigue con JavaScript Esencial: Domina los Cimientos del Lenguaje
Esta lección forma parte de un curso de Cursalo. Revisa su programa y elige entre la compra individual o el acceso a toda la escuela.
Si ya tenías acceso a este curso, entra con tu cuenta: tus derechos y tu progreso se conservan. No necesitas comprarlo de nuevo.