Los operadores lógicos son fundamentales para manejar condiciones y tomar decisiones en nuestros programas. Son tres: AND, OR y NOT. Estos operadores nos permiten validar múltiples condiciones de manera simultánea o individual. Comprender su funcionamiento nos ayudará a mejorar la lógica de nuestra programación y nos permitirá crear sistemas más robustos.
¿Cómo funciona el operador AND?
El operador AND (y) se utiliza cuando queremos verificar si múltiples condiciones son verdaderas al mismo tiempo. Si todas las condiciones que se evalúan son verdaderas, el resultado será true; de lo contrario, será false.
Por ejemplo, consideremos los siguientes valores constantes en un código JavaScript:
constA=10;constB=20;constC="10";
Si queremos verificar si A es igual a B y A también es estrictamente igual a C, nuestro código sería:
if(A===B&&A===C){// Código a ejecutar si ambos son iguales}
En este caso, el resultado sería false porque, aunque el valor de A es 10 y coincide con el valor numérico de C, no son del mismo tipo (el primero es un número y el segundo un string).
¿Qué hace el operador OR?
El operador OR (o) es útil cuando queremos que al menos una de varias condiciones se cumpla. Si al menos una condición es verdadera, el resultado será true.
Siguiendo el ejemplo anterior:
if(A!==B||A==C){// Código a ejecutar si al menos una condición es verdadera}
De este código, resulta true porque A es efectivamente diferente de B. Aunque A no es igual a C en tipo, el operador OR solo necesita que una de las condiciones se cumpla.
¿Cómo se utiliza el operador NOT?
El operador NOT (no) resulta muy útil cuando queremos invertir el resultado de una evaluación. Si aplicamos NOT a una condición, convertimos true en false y viceversa.
Tomemos el siguiente ejemplo:
if(!(A===C)){// Código a ejecutar si A NO es igual a C}
Aquí, A === C es false porque no son del mismo tipo de datos, pero al aplicar el operador NOT, el resultado final es true.
Aplicaciones de los operadores lógicos
En el desarrollo de software, los operadores lógicos son esenciales para construir algoritmos complejos que requieren decisiones condicionadas. Estas decisiones no se limitan solo a operaciones numéricas; se expanden a la validación de parámetros de entrada, la gestión de errores, y la aplicación de lógica comercial en sistemas de software, entre otros.
El dominio de estos operadores incrementa nuestra capacidad para manejar situaciones complejas dentro del código y nos prepara mejor para enfrentarnos a los retos del desarrollo de software.
Operador lógico AND (&&): Este operador lógico compara dos expresiones. Se debe de tener ambas expresiones verdaderas para que el resultado sea verdadero, pero si una o ambas expresiones son falsas, la sentencia completa se devolverá como falsa.
Operador lógico OR (||): Este devuelve como true si cualquiera de las dos expresiones son verdaderas y false cuando ambas expresiones son falsas. Ambas expresiones pueden ser verdaderas, pero solo se necesita una para que el resultado sea verdadero.
Operador lógico NOT (!): El operador lógico NOT no realiza ninguna comparación como lo hacen los operadores AND y OR.
Este se utiliza con un símbolo "!" (signo de exclamación) para representar un operador NOT o negación.
(a===c) --> Imprime False, tipos de datos diferentes
si negamos el resultado anterior imprime True
!(a===c) --> True
saludos
!(a===c)
Da true porque se sabe que a no es igual a c por lo tanto da false pero se utiliza el signo de admiración para invertir la ecuación por lo tanto da true :)
lo que hace ! es anticipar el resultado de la comparación, es decir, de antemano esta afirmando que la comparación es falsa, por esa razón si la comparación en realidad es falsa pues el resultado será true por que la afirmación ! es verdadera, pero si la comparación es verdadera pues el resultado será false por que la afirmación ! es falsa.
Esta regresando el true ya que la ! es una negacion eso significa que si lo que esta entre parentesis es verdadero, el ! lo vuelve falso y si lo que esta entre parentesis es falso, el ! lo vuelve verdadero
Para aquellos que quieran manejar la consola desde el navegador siguiendo el ejercicio como el profe lo pueden hacer:
Conectando el JS a un archivo HTML y,
Utilizando la extensión Live Server para VS Code.
Pasos:
1. Crean un archivo HTML, puede ser index.html.
2. En index crean la estructura básica (esto lo pueden hacer facilmente con escribiendo !+ ENTER)
3. Debajo del body se escribe script + ENTER y colocan el atributo src"", el valor del atributo debe ser la ubicación donde tienen su archivo JS
EJ:
Finalmente le dan al boton de go live:
Y abren en su navegador:
Finalmente oprimen F12 y verán reflejado sus console.log:
Y listo, asi es como se maneja desde navegador, si cambian de archivo JS recuerden cambiarlo también en el archivo html y guardarlo para que se vean reflejados los cambios.
Esta una manera de hacerlo, pero lo pueden hacer sin problemas como lo maneja la profesora utilizando node.
Muchas Gracias ☺ era lo que necesitaba.💜
Ejercicio:
Explicación:
Primero se compara lo que se encuentra dentro de los paréntesis.
a tiene el valor de 10 (numérico).
c tiene el valor de '10' (string).
El operador === compara estrictamente los valores y sus tipos, además no convierte sus tipos automáticamente (a diferencia del operador == que sí lo hace).
En este caso a, al ser de un tipo diferente a c, regresa false.
Después se resuelve la siguiente operación:
El operador ! devuelve el valor contrario de un valor booleano (true o false).
El valor contrario de false es true.
Debido a esto, el valor final de toda la expresión es false.
La logica es:
(a===c) ---- False
pero al agregar !
!(a===c) ---- True
Devuelve true porque es la negación de ese algoritmo
Operadores Logicos
Los operadores lógicos en JavaScript se utilizan para combinar o invertir valores booleanos y son esenciales para la toma de decisiones en estructuras de control como las declaraciones if, while, y otras.
AND lógico (&&):Devuelve true si ambos operandos son verdaderos. Si el primer operando es falso, devuelve ese valor; de lo contrario, devuelve el valor del segundo operando.
OR lógico (||):Devuelve true si al menos uno de los operandos es verdadero. Si el primer operando es verdadero, devuelve ese valor; de lo contrario, devuelve el valor del segundo operando.
NOT lógico (!):Invierte el valor booleano del operando. Si el operando es true, devuelve false; si el operando es false, devuelve true.
!true // false!false // true
Los operadores lógicos son fundamentales para controlar el flujo de ejecución en un programa y para la toma de decisiones basadas en múltiples condiciones.
Porque a === c es falso y si luego lo niegas es un true
!(a === c)
true
Regresas un true, por que a tiene un valor entero de 10, mientras que c tiene un valor String "10", compara que es diferente y devuelve true por que se cumple que no son iguales de tipo.
gracias por la respuesta
Te regresa "true" porque "!" es negación por lo que le estas diciendo que si "a" es diferente de "c" y le pusiste "===" tres veces el signo igual por lo que JavaScript valida el valor y el tipo, el valor es el mismo pero el tipo no lo es. por eso te sale "true" por que no son iguales. no me se explicar bien pero se entiende, no?.
Hola, muy bien, pues respondiendo a la pregunta de porque la expresión "! (a===c)", ya sabemos que "a" y "c" no son iguales, ni en dato ni en valor, entonces por lo tanto ya sabemos que esa operación es "false". Entonces al operador "!" lo puedes tomar como un "no es", entonces traduciendo toda la operación quedaria "no es (false) ", "no es false", entonces tiene que ser verdadera... es una forma de verlo en termino de "frases" si asi lo queremos ver, espero esto no los confunda. XD
por que a es diferente a c al tener los === pues devuelve un valor falso pero como tienes negación ! entonces se convierte en true.
Está regresando un true porque a === c es false, y el ! que es el valor de not, hace que el false, se convierta en true
Una forma muy eficiente de usar el operador OR es para asignar valores por defecto. Si tienes una variable que puede ser null (como el nombre de un alumno que no se registró bien), puedes hacer esto: const nombreAMostrar = nombreDeBaseDeDatos || "Alumno Invitado"; Si la primera es nula o vacía, JS saltará a la segunda opción. ¡Ahorra mucho código!
Primero se resuelve el () que devuelve un False y luego se resuelve el ! por lo que devuelve un True
!(a === c) regresa un true porque el operador Not invierte el valor, al comparar a === c (estrictamente igual) nos devuelve un false porque no es lo mismo ni en valor ni en tipo, por esta razón al aplicarle el ! cambia false por true
a === c no son iguales en tipo de dato y ! dice que no es igual el valor a y c no son iguales. Por lo que devuelve un true