Operadores Lógicos en Programación: AND, OR y NOT

Clase 27 de 84Curso Gratis de Programación Básica

Contenido del curso

Fundamentos de Programación

Desarrollando un juego con HTML y JavaScript

Estilos con CSS

Optimización de código

Mapa con canvas

Backend: videojuego multijugador

Resumen

Detrás de cada condicional avanzado en programación hay una historia que se remonta a los orígenes mismos de la computación. Comprender cómo un simple bombillo encendido o apagado se traduce en unos y ceros, y cómo esos valores se combinan con operadores lógicos, es la base para escribir código más poderoso y expresivo en JavaScript.

¿Por qué las computadoras funcionan con unos y ceros?

Todo parte de una idea sencilla: un bombillo solo puede estar en dos estados, prendido o apagado [01:17]. En programación, eso se representa como 1 (verdadero) y 0 (falso). Cuando el bombillo recibe electricidad, tenemos un uno; cuando no la recibe, tenemos un cero. De ahí provienen los booleanos, esos valores true y false que usamos constantemente en nuestro código.

Esta es también la razón por la que en las películas de hackers aparecen secuencias de unos y ceros: representan la forma más básica en que las computadoras procesan información [01:04]. Si quieres profundizar en cómo funcionan las computadoras e internet por dentro, el curso de Fundamentos de Ingeniería de Software es un excelente recurso complementario [02:14].

¿Cómo funcionan las tablas de verdad del operador AND?

Cuando necesitamos verificar dos condiciones al mismo tiempo, usamos el operador AND. En JavaScript lo representamos con el doble ampersand (&&) [00:48]. Por ejemplo, para determinar un empate en un juego de fuego, agua y tierra, necesitamos que el ataque del jugador sea fuego y el ataque del enemigo también sea fuego.

Las reglas del AND son claras:

  • Si ambas condiciones son verdaderas, el resultado es verdadero [04:17].
  • Si la primera es verdadera y la segunda es falsa, el resultado es falso [04:40].
  • Si la primera es falsa y la segunda es verdadera, el resultado sigue siendo falso [05:08].
  • Si ambas son falsas, el resultado también es falso [05:30].

En resumen, el AND exige que todas las condiciones se cumplan. Si al menos una falla, el resultado completo se convierte en falso.

¿Qué diferencia al operador OR del AND?

El operador OR funciona de manera más flexible. No necesita que ambas condiciones sean verdaderas, sino que al menos una lo sea [06:00]. En JavaScript se representa con el doble pipe (||), esas dos barritas verticales que suelen estar encima de la tecla enter en algunos teclados [08:12].

Su tabla de verdad funciona así:

  • Ambas verdaderas: resultado verdadero.
  • Primera verdadera y segunda falsa: resultado verdadero [06:42].
  • Primera falsa y segunda verdadera: resultado verdadero [07:14].
  • Ambas falsas: resultado falso [07:34].

El OR solo da falso cuando ninguna de las condiciones se cumple.

¿Para qué sirve el operador NOT en JavaScript?

El operador NOT tiene un comportamiento distinto: invierte el valor de una condición [08:50]. Se representa con el signo de admiración (!). Si una condición es verdadera y le aplicamos NOT, se convierte en falsa. Si es falsa, pasa a ser verdadera [09:28].

  • Verdadero con NOT: resultado falso.
  • Falso con NOT: resultado verdadero.

De aquí nacen los famosos memes de programación donde "el falso del falso es positivo" [09:52]. Es simplemente el NOT haciendo su trabajo: cambiar el sentido lógico de cualquier expresión.

¿Cómo se aplican estos operadores en condicionales compuestos?

En la práctica, estos operadores nos permiten construir condicionales avanzados, donde no evaluamos una sola condición sino varias al mismo tiempo [02:40]. En el ejemplo del juego, se utilizan condiciones compuestas con && para verificar combinaciones de ataques entre jugador y enemigo, y así determinar si hay empate, victoria o derrota [00:30].

La clave está en elegir el operador correcto según la lógica que necesites:

  • AND (&&): cuando todas las condiciones deben cumplirse.
  • OR (||): cuando basta con que una condición se cumpla.
  • NOT (!): cuando necesitas negar o invertir un resultado.

Estos tres operadores son herramientas fundamentales que aparecen en prácticamente todos los lenguajes de programación, no solo en JavaScript. Conocer sus tablas de verdad te da el poder de escribir validaciones precisas y lógica clara en cualquier proyecto. ¿Conoces algún otro operador lógico o se te ocurre un uso práctico para el OR o el NOT? Compártelo en los comentarios.