Sentencias de control en JavaScript: if, switch
Al finalizar este tema
Podrás crear bifurcaciones condicionales con if, else if, else y podrás decidir cuándo utilizar switch.
Ejecución diferenciada según la condición
Los programas no siempre realizan las mismas acciones. Crear una bifurcación como "si el usuario ha iniciado sesión, muestra el panel de control; si no, muestra la página de inicio de sesión" es lo que se conoce como sentencia condicional.
const score = 85;
if (score >= 90) {
console.log("Grado A");
} else if (score >= 80) {
console.log("Grado B");
} else if (score >= 70) {
console.log("Grado C");
} else {
console.log("Reexamen");
}
// salida: "Grado B"if Coloque la condición dentro de los paréntesis siguientes. Si la condición es true, se ejecuta el bloque correspondiente; si es false, pasa al siguiente else if o else.
Operadores de comparación y operadores lógicos
Son los símbolos utilizados para comparar valores dentro de una estructura condicional.
// operador de comparacion
console.log(10 > 5); // true
console.log(10 === 10); // true (¿son iguales el valor y el tipo?)
console.log(10 == "10"); // true (¿solo es igual el valor? — no lo uses)
console.log(10 !== 5); // true (¿no son iguales?)
// ⚠️ Usa === en lugar de ==
// == convierte los tipos automaticamente al comparar → resultados inesperados
console.log(0 == false); // true (¡peligroso!)
console.log(0 === false); // false (¡correcto!)// Operadores lógicos — combinar condiciones
const age = 25;
const hasTicket = true;
// AND: debe ser true en ambos casos para ser true
if (age >= 18 && hasTicket) {
console.log("Acceso permitido");
}
// OR: basta con que uno sea true
if (age < 13 || age >= 65) {
console.log("Descuento aplicado");
}
// NOT: invertir true ↔ false
if (!hasTicket) {
console.log("Compra tu entrada");
}Usar === en lugar de == es una de las reglas más básicas de JavaScript. == convierte automáticamente los tipos al comparar, lo que puede dar resultados impredecibles.
switch — múltiples caminos con un solo valor
Cuando se necesita dividir el flujo en varias direcciones según el valor de una variable, switch es la opción más limpia.
const day = "lunes";
switch (day) {
case "lunes":
case "martes":
case "miercoles":
case "jueves":
case "viernes":
console.log("dia laborable");
break;
case "sabado":
case "domingo":
console.log("fin de semana");
break;
default:
console.log("entrada invalida");
}Si se omite break, la ejecución fluye hacia abajo (fall-through) hasta el siguiente case. Aunque puede usarse intencionalmente, en la mayoría de los casos es un error. Desarrolle el hábito de verificar si se ha omitido break.