Operadores lógicos

javascript operadores lógica

Los operadores lógicos son herramientas que nos permiten combinar diferentes condiciones para tomar decisiones en nuestro código.

En programación, como en la vida, usamos operadores lógicos para evaluar múltiples condiciones.

🤔 ¿Qué es una evaluación?

Una evaluación es cuando le hacemos una pregunta a JavaScript y nos responde con true (verdadero) o false (falso). Por ejemplo:

  • 5 > 3 es una evaluación que pregunta “¿es 5 mayor que 3?”
  • edad >= 18 es una evaluación que pregunta “¿es la edad mayor o igual a 18?”
Analogía

Imagina que estás decidiendo si salir de casa. La decisión depende de varios factores:

  • ¿Tienes paraguas?
  • ¿Está lloviendo?

Tu decisión final combina estas condiciones, igual que los operadores lógicos.

⚡ Operadores lógicos básicos

Los principales operadores lógicos en JavaScript son:

  • && (AND): Ambas condiciones deben cumplirse
  • || (OR): Basta con que una condición se cumpla
  • ! (NOT): Invierte el resultado de una condición

✅ AND (&&): Todas las condiciones

El operador && da true como resultado solo si todas las condiciones son verdaderas.

condición 1condición 2Resultado (&&)
truetruetrue
truefalsefalse
falsetruefalse
falsefalsefalse

La palabra and significa y, como en: ¿condición 1 y condición 2 se cumplen?

Analogía

Para que puedas ver una película en el cine, necesitas dos cosas:

  1. Tener dinero para la entrada.
  2. Que haya funciones disponibles.

let tieneDinero = true;
let hayFunciones = false;
let puedoIrAlCine = tieneDinero && hayFunciones;
console.log("¿Puedo ir al cine?", puedoIrAlCine);

Terminal window
¿Puedo ir al cine? false

🔀 OR (||): Al menos una condición

El operador || devuelve true si al menos una de las condiciones es verdadera.

condición 1condición 2Resultado (||)
truetruetrue
truefalsetrue
falsetruetrue
falsefalsefalse

La palabra or significa o, como en: ¿condición 1 o condición 2 se cumple?

Analogía

Para pedir comida a domicilio prefieres que suceda al menos una de dos cosas:

  • 🍽️ Tener hambre.
  • 🍕 Que haya una promoción irresistible.

Si cualquiera de las dos condiciones se cumple, pedirás comida.

let tieneHambre = false;
let hayPromocion = true;
let vaPedirComida = tieneHambre || hayPromocion;
console.log("¿Voy a pedir comida?", vaPedirComida);

Terminal window
¿Voy a pedir comida? true

❗ NOT (!): Invertir una condición

El operador ! invierte el valor de una condición:

  • Si algo es true, lo convierte en false
  • Si algo es false, lo convierte en true

La palabra not significa no, como en: ¿no se cumple la condición?

Analogía

Piensa en un interruptor de luz:

  • Si la luz está encendida (true), al negarlo (!), estará apagada (false)
  • Si la luz está apagada (false), al negarlo (!), estará encendida (true)
let luzEncendida = true;
console.log("¿Está la luz encendida?", luzEncendida);
console.log("¿Está la luz apagada?", !luzEncendida);

📝 Resumen
OperadorSímboloDescripciónEjemploResultado
AND&&Devuelve true solo si ambas condiciones son true.true && truetrue
OR||Devuelve true si al menos una condición es true.true || falsetrue
NOT!Invierte el valor de la condición (true false, falsetrue).!truefalse

☝️🤓

🏋️‍♂️ Ejercicio

Un videojuego solo permite jugar en modo multijugador si se cumplen estas dos condiciones:

  • El jugador tiene una suscripción activa (tieneSuscripcion === true)
  • La conexión a internet es estable (conexionEstable === true)

Usa && para verificar si puede jugar en multijugador.

let tieneSuscripcion = true;
let conexionEstable = false;
let puedeJugarMultijugador = ____; // Completa usando &&
console.log("¿Puede jugar en multijugador?", puedeJugarMultijugador);

🏋️‍♂️ Ejercicio

Una aplicación de delivery te notifica si ocurre al menos una de estas situaciones:

  • Tu pedido está listo (pedidoListo === true)
  • El repartidor está cerca (distanciaRepartidor < 1)

Usa || para determinar si debes recibir una notificación.

let pedidoListo = false;
let distanciaRepartidor = 0.5; // kilómetros
let mostrarNotificacion = ____; // Completa usando ||
console.log("¿Mostrar notificación?", mostrarNotificacion);

🏋️‍♂️ Ejercicio

Un juego de cartas necesita verificar si una carta no es un comodín (esComodin === false).
Usa ! para determinar si la carta no es un comodín.

let esComodin = true;
let cartaNormal = ____; // Completa usando !
console.log("¿Es una carta normal?", cartaNormal);

🚀 Extra

Investiga y responde:

  • ¿Cómo se comportan los operadores lógicos con valores que no son booleanos?
  • ¿Qué es la evaluación de cortocircuito (short-circuit evaluation)?

Comentarios