Condicionales if / else
Qué es un condicional, cómo se escribe if / else / else if y por qué el orden de las condiciones forma parte de la lógica. Definición con ejemplos cortos.
Definición rápida
Un condicional ejecuta un bloque de código solo si su condición se cumple, y opcionalmente otro distinto cuando no se cumple.
Un condicional es la instrucción que permite a un programa tomar decisiones: ejecuta un bloque de código solo si se cumple una condición. Con variables, condicionales y bucles ya se puede expresar casi cualquier algoritmo.
La forma básica
const nota = 7;
if (nota >= 5) {
console.log("Aprobado");
} else {
console.log("Suspenso");
}
Entre paréntesis va cualquier expresión que produzca un booleano. Si vale true se ejecuta el primer bloque; si vale false, el del else. El else es opcional: sin él, cuando la condición no se cumple no ocurre nada.
Varios casos: else if
if (nota >= 9) {
console.log("Sobresaliente");
} else if (nota >= 7) {
console.log("Notable");
} else {
console.log("Otro");
}
Dos ideas que hay que tener claras:
- Se evalúa de arriba abajo y para en cuanto una condición se cumple. El resto no se comprueba.
- Por eso el orden es parte de la lógica. Cada condición se lee dando por hecho que las anteriores fallaron.
Si pusieras nota >= 5 en primer lugar, un 10 entraría ahí y las condiciones siguientes serían inalcanzables. Cuando las condiciones son rangos numéricos, van de la más restrictiva a la más amplia.
Condiciones con varias partes
if (edad >= 18 && tieneEntrada) {
console.log("Puede pasar");
}
Se combinan con los operadores lógicos. Cuando la condición tiene tres partes o más, guárdala en una variable con nombre: el if queda legible y el nombre documenta la regla.
Errores típicos
- Usar
=en lugar de===: asigna y entra siempre. - Poner
;justo tras elif:if (x > 5);cierra la instrucción y el bloque siguiente se ejecuta siempre. - Escribir rangos como en matemáticas:
if (5 < nota < 10)no hace lo que parece; hay que escribirnota > 5 && nota < 10. - Duplicar la misma línea en las dos ramas: si
ifyelseacaban igual, sácala fuera.
Dónde se practica
La sintaxis se aprende en cinco minutos; lo difícil es traducir un enunciado a condiciones que cubran todos los casos, incluidos los valores frontera y los datos inesperados. Ese es el trabajo del módulo 3 del curso, con ejercicios que se corrigen solos y prueban precisamente los casos límite. Mira el temario para ver cómo encaja, y empieza por los módulos gratuitos si vienes de cero.
Preguntas frecuentes
¿Cuándo uso else if y cuándo varios if seguidos?
else if cuando los casos son excluyentes y solo uno puede cumplirse. Varios if independientes cuando pueden cumplirse a la vez y quieres comprobarlos todos.
¿Hace falta poner llaves siempre?
Con una sola instrucción no es obligatorio, pero ponlas. Muchos errores vienen de líneas añadidas después que quedan fuera del if sin que se note.
¿Qué es el operador ternario?
Una forma corta de un if/else que devuelve un valor: const estado = nota >= 5 ? "Aprobado" : "Suspenso". Cómodo en una línea, ilegible si se anida.