Operadores lógicos
Condicionales
🧭 Toma de decisiones en programación
Los condicionales son instrucciones que permiten a nuestros programas adaptarse y responder según diferentes situaciones, similar a cómo tomamos decisiones cotidianas.
Analogía
Piensa en los condicionales como un chef preparando un platillo según las preferencias del cliente:
- Si el cliente es vegetariano, preparamos un plato sin carne
- Si el cliente tiene alergias, evitamos ciertos ingredientes
- Si no hay restricciones especiales, preparamos el plato regular
De la misma manera, nuestro código puede realizar diferentes acciones según las condiciones.
Existen distintos modos de crear condicionales:
if,elseyelse if- para decisiones simples y múltiples- Operador ternario - para decisiones rápidas y sencillas
switch- para múltiples opciones específicas
🔄 Estructuras Condicionales Básicas
🚦 if
La palabra if significa si…, como en: Si limpias tu cuarto, puedes seguir estudiando programación
Cuando queremos crear una acción que sólo ocurra bajo ciertas condiciones, podemos usar esta instrucción:
En código se ve algo así:
if (condicion) { // Instrucción que se ejecuta si la condición es verdadera}Analogía
Imagina que tienes un perrito y quieres darle un premio:
- Si el perrito se sienta cuando se lo pides, le das una galleta
De la misma manera, nuestro código puede ejecutar acciones cuando se cumple una condición.
Por ejemplo:
let perritoSentado = true; // El perrito está sentado
if (perritoSentado) { console.log("¡Buen chico! Aquí tienes tu galleta 🦴");}En este ejemplo, si el perrito está sentado (la condición es verdadera), mostraremos un mensaje de felicitación y le daremos su premio.
🔀 else
La palabra else significa en otro caso, como en: Si limpias tu cuarto, puedes jugar. En otro caso, te quito el internet.
Nos ayuda a crear una instrucción que se ejecutará por defecto si es que no se cumple la condición de if:
La anatomía del código es la siguiente:
if (condicion) { // Instrucción que se ejecuta si la condición es verdadera} else { // Instrucción que se ejecuta si la condición es falsa}Analogía
Piensa en un semáforo:
- Si la luz está verde, los autos pueden avanzar
- En otro caso (luz roja), los autos deben detenerse
De la misma manera, nuestro código puede tomar dos caminos diferentes según una condición.
Por ejemplo:
let luzVerde = false; // El semáforo está en rojo
if (luzVerde) { console.log("¡Adelante! Puedes avanzar 🚗");} else { console.log("¡Alto! Debes detenerte 🛑");}En este ejemplo, como el semáforo está en rojo (luzVerde es false), el código mostrará el mensaje de alto.
🔄 else if
La frase else if significa de lo contrario si…, aunque es más sencillo pensarlo como … o si…. Como en el siguiente escenario:
- Si limpias tu cuarto, puedes…
- …o si lavas los trastes, puedes…
- …en otro caso, te quito el internet
Nos ayuda a crear más caminos dentro de estas decisiones.
La anatomía del código es la siguiente:
if (condicion1) { // Instrucción que se ejecuta si la condición1 es verdadera} else if (condicion2) { // Instrucción que se ejecuta si la condición2 es verdadera} else { // Instrucción que se ejecuta si ninguna condición es verdadera}Podemos agregar tantas condiciones else if como necesitemos para crear
diferentes caminos en nuestro programa.
Analogía
Piensa en un videojuego donde tu personaje obtiene diferentes poderes según lo que recoge:
- Si recoge una estrella, se vuelve invencible
- O si recoge una flor, puede lanzar fuego
- O si recoge un hongo, se hace más grande
- En otro caso, mantiene sus habilidades normales
De la misma manera, el código puede tomar diferentes caminos según las condiciones que se cumplan.
Por ejemplo:
let poder = "estrella";
if (poder === "estrella") { console.log("¡Eres invencible! ⭐");} else if (poder === "flor") { console.log("¡Puedes lanzar fuego! 🔥");} else if (poder === "hongo") { console.log("¡Te has hecho más grande! 🍄");} else { console.log("Tienes habilidades normales 🚶");}En casos de múltiples caminos es recomendable usar la estructura switch. La
veremos al final de este artículo.
❓ Operador ternario
Existe una forma mucho más corta de usar un if + else. Le llamamos operador ternario.
Su anatomía se ve así:
condicion ? casoVerdadero : casoFalso;- La condición va antes del signo de interrogación
? - El primer valor (después del
?) es el resultado si la condición es verdadera - El segundo valor (después del
:) es el resultado si la condición es falsa
Analogía
El operador ternario es como hacer una pregunta rápida con dos posibles respuestas:
¿Está lloviendo? Entonces llevo paraguas, si no, llevo gafas de sol
Por ejemplo:
let estaLloviendo = true;
let queLlevar = estaLloviendo ? "Llevo paraguas ☂️" : "Llevo gafas de sol 😎";
console.log(queLlevar);Llevo paraguas ☂️🔄 switch
La palabra switch viene del inglés y significa “interruptor” o “selector”.
Cuando tenemos distintos “caminos” para nuestro código es preferible utilizar la estructura switch, esta nos permite crear múltiples casos de una forma más estructurada.
La anatomía se ve de la siguiente manera:
switch (expresion) { case valor1: // Instrucciones para caso 1 break; case valor2: // Instrucciones para caso 2 break; default: // Instrucciones para los casos restantes}Los elementos principales son:
switch (expresion): Evalúa una expresión para saber qué caso ejecutarcase valorN: Define el valor a comparar con la expresiónbreak: Evita que el código continúe ejecutando los casos siguientesdefault: Se ejecuta cuando ningún caso coincide con la expresión
Analogía
Imaginemos que estamos eligiendo qué ver en streaming según nuestro estado de ánimo:
- Si tienes ganas de reír -> Abres ComedyFlix 🎭
- Si quieres suspenso -> Vas a MysteryPrime 🔍
- Si prefieres acción -> Entras a ActionMax 💥
- Si ninguna aplica -> Reproduces tendencias de TikTok 🎵
El switch sería como el menú para seleccionar el contenido adecuado.
let plataforma = "ComedyFlix";
switch (plataforma) { case "ComedyFlix": console.log("▶️ Reproduciendo 'Cómo conocí a tu meme'"); break; case "MysteryPrime": console.log("🔦 Iniciando 'El misterio del WiFi perdido'"); break; case "ActionMax": console.log("💣 Cargando 'John Wick: La venganza del examen final'"); break; default: console.log("🔄 Seleccionando videos virales del momento...");}También es posible que haya lógica donde varios casos comparten las mismas instrucciones:
let dia = "Martes";
switch (dia) { case "Lunes": case "Miércoles": console.log("📚 Día de estudio en la biblioteca"); break; case "Martes": case "Jueves": console.log("🏀 Práctica de deportes después de clase"); break; case "Viernes": console.log("🎉 ¡Noche de juegos con amigos!"); break; default: console.log("😴 Descanso en casa");}☝️🤓
🏋️♂️ Ejercicio
Crea un programa que determine si una persona puede conducir basándose en su edad:
- Si es menor de 16 años, muestra “Muy joven para conducir”
- Si tiene entre 16 y 17 años, muestra “Puede obtener un permiso de aprendizaje”
- Si tiene 18 años o más, muestra “Puede obtener una licencia completa”
Utiliza la estructura if-else para resolverlo.
🏋️♂️ Ejercicio
Crea un sistema de logros para un juego:
- El jugador tiene una puntuación almacenada en la variable
puntuacion - Usa el operador ternario para asignar ”🏆 Experto” si la puntuación es mayor a 100, o ”🎮 Novato” si es menor o igual
🏋️♂️ Ejercicio
Crea un sistema de menú para una cafetería:
- La variable
opcioncontiene un número del 1 al 4 - Opción 1: ”☕ Café”
- Opción 2: ”🫖 Té”
- Opción 3: ”🧃 Jugo”
- Opción 4: ”🥤 Refresco”
- Cualquier otra opción: ”❌ Opción no válida”
Utiliza la estructura switch para mostrar la bebida seleccionada.
🚀 Extra
- Encuentra 3 ejemplos de formularios web que usen condicionales (como validación de edad o contraseñas)
- Observa cómo las aplicaciones de clima cambian su interfaz según la condición meteorológica
- Identifica cómo los juegos online usan condicionales para determinar si ganaste o perdiste
Comentarios
Roadmap
El curso más corto de programación (con JavaScript)
Artículo 18 de 31