Tu programa empieza a decidir
Hasta ahora tu código era obediente: ejecutaba línea a línea, de arriba abajo, sin rechistar. Con los condicionales le das algo nuevo: la capacidad de elegir. "Si pasa esto, haz aquello; si no, haz otra cosa." Es el primer paso hacia un programa que parece tener un poquito de cabeza, porque reacciona distinto según los datos que le llegan.
La estructura if
const edad = 20;
if (edad >= 18) {
console.log("Eres mayor de edad");
}
Lo que va entre paréntesis es una condición: una pregunta de sí o no que se
evalúa como true o false. Si la respuesta es true, se ejecuta el bloque
entre llaves { }. Si es false, JavaScript se lo salta y sigue de largo.
Añadir un else
El else es el "y si no...". Se ejecuta cuando la condición no se cumple, así
que cubres los dos caminos posibles:
const edad = 15;
if (edad >= 18) {
console.log("Puedes pasar");
} else {
console.log("Acceso denegado");
}
Varias alternativas: else if
La vida rara vez es de blanco o negro. Cuando hay más de dos caminos, encadenas
else if. JavaScript comprueba las condiciones de arriba abajo y, en cuanto
encuentra una verdadera, ejecuta solo esa y se olvida del resto:
const nota = 7;
if (nota >= 9) {
console.log("Sobresaliente");
} else if (nota >= 7) {
console.log("Notable");
} else if (nota >= 5) {
console.log("Aprobado");
} else {
console.log("Suspenso");
}
// Imprime "Notable"
⚠️ TRAMPA CLÁSICA: el orden de las condiciones. Como JavaScript se queda con la primera que sea verdadera, si pusieras
nota >= 5arriba del todo, ¡un 10 caería en "Aprobado" y nunca llegaría a "Sobresaliente"! Un 10 también es mayor que 5, claro. Regla de oro: pon siempre las condiciones más exigentes primero y baja desde ahí.
Ejemplos
¿Le dejas pasar al concierto?
const edad = 16;
if (edad >= 18) {
console.log("Mayor de edad");
} else {
console.log("Menor de edad");
}
Mensaje según la nota del examen
const nota = 8;
if (nota >= 9) {
console.log("Sobresaliente");
} else if (nota >= 5) {
console.log("Aprobado");
} else {
console.log("Suspenso");
}