If y else
Los operadores lógicos te dieron un sí/no. La siguiente pregunta: ¿qué líneas deben ejecutarse? Si la respuesta es sí, un bloque; si es no, otro. Esa elección es if / else / else if. Ya sabes armar un boolean; aquí lo usas para elegir el camino.
¿Qué hace if?
if mira la condición entre paréntesis. Si el valor es truthy, JavaScript ejecuta el bloque entre llaves justo después. Si es falsy, ese bloque se omite. else es el camino de respaldo cuando falló el if. else if añade otra comprobación antes del else final.
Las palabras clave de un vistazo
📊 Piezas cotidianas de if / else
| Palabra clave | Lectura cotidiana | Uso típico |
|---|---|---|
if |
si esto pasa, ejecuta este bloque | primer chequeo |
else if |
si no, si pasa este otro chequeo… | caminos intermedios |
else |
si no, ejecuta esto | último recurso |
Mantén la condición clara: una comparación (age >= 18), un enlace lógico (age >= 18 && score >= 60) o una variable boolean nítida. El trabajo de ese camino va dentro de { … }.
let age = 20;
if (age >= 18) {
console.log("adult");
}
console.log("done");
if solo corre cuando el chequeo pasa
Aquí age es 20, así que age >= 18 es true y la Consola imprime adult y luego done. Cambia age a 16 y solo queda done: se omitió el bloque if.
La línea tras la } de cierre suele ejecutarse siempre (salvo que salgas después de la función). if no detiene todo el programa; solo decide si corre su propio bloque.
let age = 16;
if (age >= 18) {
console.log("adult");
} else {
console.log("under 18");
}
else cubre el otro camino
Ahora el chequeo falla; JavaScript omite el primer bloque y ejecuta else. Ves under 18. En un par simple if / else corre exactamente una rama: nunca las dos, nunca ninguna.
let score = 75;
if (score >= 90) {
console.log("A");
} else if (score >= 60) {
console.log("pass");
} else {
console.log("retry");
}
else if añade caminos intermedios
score es 75. Falla el primer chequeo (>= 90). Pasa el segundo (>= 60), ves pass y se omite el else final. El orden importa: pon primero los rangos más estrictos cuando se solapan.
Si escribieras tres if sueltos, podría correr más de un bloque. else if mantiene los caminos exclusivos: tras la primera coincidencia, la cadena se detiene.
let age = 20;
let score = 75;
if (age >= 18 && score >= 60) {
console.log("allowed");
} else {
console.log("blocked");
}
let ready = false;
if (!ready) {
console.log("wait");
}
Pon chequeos reales entre paréntesis
La condición puede ser una comparación, una expresión lógica o un boolean invertido. age >= 18 && score >= 60 es true, ves allowed. !ready también es true, ves wait. Primero arma el sí/no; luego deja que if elija la rama.
let age = 20;
let label;
if (age >= 18) {
label = "adult";
} else {
label = "under 18";
}
console.log(label);
Nombra el resultado de la rama
A veces quieres un texto (o número) de la elección, no solo un console.log. Asigna label en cada rama y úsalo una vez después. Aquí label queda en "adult".
Muestra el camino elegido en la página
Construye un mensaje corto con if / else y escríbelo en la página.
<!DOCTYPE html>
<html>
<head>
<title>If else — page branch</title>
</head>
<body>
<p id="out">…</p>
<script>
let age = 20;
let msg;
if (age >= 18) {
msg = "adult";
} else {
msg = "under 18";
}
let box = document.getElementById("out");
box.textContent = "status=" + msg;
</script>
</body>
</html>
age es 20, la página muestra status=adult. Pon age en 16, recarga y deberías ver status=under 18. La siguiente lección (switch) elige entre varios valores fijos; para puertas cotidianas de sí/no siguen siendo if / else.
Pruébalo tú
- Registra
"ok"dentro deif (true)y confirma que se imprime. - Usa
if/elseconlet age = 16e imprime"adult"o"under 18". - Arma una cadena
else ifpara bandas descore:A(≥ 90),pass(≥ 60), si noretry. - Combina
age >= 18 && score >= 60en una condiciónif. - Guarda un string
labeldesdeif/elsey regístralo una vez. - En el demo HTML cambia solo
age, recarga y lee el nuevo textostatus=.
Errores comunes
- Olvidar las llaves
{ }alrededor del cuerpo de la rama - Escribir
if (age = 18)con un solo=(asignación) en vez de comparar - Poner
elsesin unifque encaje encima - Varios
ifsueltos cuando querías caminos exclusivos conelse if - Comprobar bandas en el orden incorrecto (p. ej.
>= 60antes de>= 90)
Resumen
ifejecuta un bloque cuando la condición es truthyelsecorre cuando eseiffallóelse ifañade más caminos intermedios exclusivos- Las condiciones suelen ser comparaciones o expresiones lógicas
- Mantén cada rama entre llaves; guarda una etiqueta si necesitas el resultado después
- Siguiente: switch — elegir entre varios valores fijos
🧠 Pon a Prueba tu Conocimiento
Pon a Prueba tu Conocimiento
Ponte a prueba con este cuestionario interactivo y descubre qué tan bien entiendes el tema
📝 Instrucciones
- Lee cada pregunta cuidadosamente
- Selecciona la mejor respuesta para cada pregunta
- Puedes repetir el quiz tantas veces como quieras
- Tu progreso se mostrará en la parte superior