Operadores lógicos Javascript
En Javascript, como en cualquier lenguaje de programación, existe un tipo de datos lógicos o booleanos que está formado por un par de valores, a lo que se les designa como true (verdadero) y false (falso), que se transforman en 1 y 0 si deben convertirse en tipos numéricos.
Este tipo de datos son el tipo de resultado al aplicar operadores lógicos, usados fundamentalmente para realizar comparaciones entre valores y/o expresiones.
Son operadores fundamentales para las sentencias condicionales y bucles de este lenguaje, como: if, switch , do..whie, while, for
Al usarlo con objetos es importatne recordar que los objetos son referencias. Por tanto si en una comparación obtenemos que dos objetos son iguales, eso realmente se debe interpretar como que son el mismo objeto .
Son operaciones análogas a las operacioes a nivel de bit, pero en este caso solo trabajan con valores booleanos, no con las represnetaciones binarias de datos numéricos.
- Negación: !
- Es el operador mas simple de todos, se usa para invertir un valor de true a false o viceversa. Se usa con valores o con expresiones lógicas, invirtiendo su resultado. Es un operador con la mínima precedencia, por eso siempre es conveniente poner paréntesis a las expresiones que queramos negar con este operador. También se pude usar junto a los operadores de igualdad (==) e identidad (===) para invertirlos.
var cierto = true;
var falso = !cierto;
console.log ( 5 >4); //true
console.log (! (5>4)); //false
- Mayor que >
- Compara dos valores y devuelve true si el primero es mayor que el segundo. Compara tanto números como cadenas.
var hoy = 4; ayer = 10, comp;
comp = hoy > ayer /* comp adquiere el valor false*/ - Menor qué<
- Compara dos valores y devuelve true si el primero es mayor que el segundo. Compara tanto números como cadenas.
var hoy = 4;
var ayer = 10
var comp;
comp = hoy > ayer /*comp toma el valor false*/
- Mayor o igual >=
- Compara dos valores y devuelve true si el primero es mayor o es igual que el segundo. Compara tanto números como cadenas.
var hoy = 4;
var ayer = 4
var comp;
comp = hoy >= ayer /* comp adquiere el valor true*/
- Menor o igual <=
- Compara dos valores y devuelve true si el primero es menor o es igual que el segundo. Compara tanto números como cadenas.
var hoy = 4;
var ayer = 4;
var comp;
comp = hoy <= ayer /* comp adquiere el valor true*/
- Iguales ==
- Compara dos valores y devuelve true si ambos son iguales. Compara tanto números como cadenas. Si en lugar del doble igual usamos != la comparación es comprobar si son diferentes.
var hoy = 4;
var ayer = 4
var comp;
comp = hoy == ayer /* comp adquiere el valor true*/
comp = hoy != ayer /*comp es false */
- Idénticos ===
- Similar a == pero también compara el tipo de datos de los operandos. Es una igualdad estricta que devuelve true si ambos son iguales en valor y tipo, o sea, idénticos. También puede invertise ñadiendo el operador negación: !==, en este caso comprueba que no son idénticos.
var hoy = 4;
var ayer = '4'
var iguales, identicos;
iguales = hoy == ayer; /* comp adquiere el valor true*/
identicos = hoy === ayer /* comp adquiere el valor false*/
- AND lógico &&
- Este operador es similar al AND a nivel de bit pero opera con valores booleanos. Se utiliza para concatenar comparaciones, es decir, para comprobar varias condiciones . El resultado sólo será true si todas las comparaciones o los perandos lo son. Es omo un producto si uno solo de los factores es 0 (false) el resultado es 0 (false)
var op1 = 2, op2 = 50, op3 = 25;
var comp;
comp = (op1 > op2) && (op1 < op3); //false
comp = (op1 < op2) && (op1 < op3); //true
- OR lógico ||
- Como el anterior, sirve para realizar comparaciones compuestas y solo devolverá false cuando todas las comparaciones los sean. Es decir basta que una comparación sea true para que devuelva el valor false. Es como una suma de ceros y unos, si uno solo de los sumandos es 1 (true) el resultado es 1(true)
var op1 = 2, op2 = 50, op3 = 25;
var comp;
comp = (op1 > op2) && (op1 < op3); /*comp toma el valor true */
Resumen
Los operadores relacionales o lógicos comparan unos valores con otros y reaizan operaciones con valores lógicos (true, false)
Los valores lógicos (true, false) se pueden invertir (negar) con el operador ! (signo de exclamación cerrada).
De la misma manera se pueden invertir los resultados de las comparaciones, pues son valores lógicos o booleanos.

