Comparación de JavaScript y operadores lógicos

Los operadores de comparación y lógicos se utilizan para probar si es verdadero o falso.

Operadores de comparación

Los operadores de comparación se utilizan en declaraciones lógicas para determinar la igualdad o diferencia entre variables o valores.

Dado que x = 5, la siguiente tabla explica los operadores de comparación:

Operator Description Comparing Returns
== igual a x == 8 false
x == 5 true
x == “5” true
=== igual valor e igual tipo x === 5 true
x === “5” false
!= no igual x != 8 true
!== no igual valor ni igual tipo x !== 5 false
x !== “5” true
x !== 8 true
> mayor que x > 8 false
< menor que x < 8 true
>= mayor o igual que x >= 8 false
<= menor o igual que x <= 8 true

Como puede ser usado

Los operadores de comparación se pueden utilizar en declaraciones condicionales para comparar valores y tomar medidas según el resultado.

Ejm

if (age < 18) text = "Too young";

Operadores lógicos

Los operadores lógicos se utilizan para determinar la lógica entre variables o valores. Dado que x = 6 e y = 3, la siguiente tabla explica los operadores lógicos.

Operador Descripción Ejemplo
&& and (x < 10 && y > 1) is true
|| or (x == 5 || y == 5) is false
! not !(x == y) is true

Operador ternario (condicional)

JavaScript también contiene un operador condicional que asigna un valor a una variable en función de alguna condición.

Sintaxis

variablename = (condition) ? value1:value2

Ejm

<!DOCTYPE html>
<html>
<body>

<p>Input your age and click the button:</p>

<input id="age" value="18" />

<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

<script>
function myFunction() {
var age, voteable;
age = document.getElementById("age").value;
voteable = (age < 18) ? "Too young":"Old enough";
document.getElementById("demo").innerHTML = voteable + " to vote.";
}
</script>

</body>
</html>

Si la variable age tiene un valor inferior a 18, el valor de la variable voteable será “Demasiado joven”, de lo contrario, el valor de voteable será “Lo suficientemente mayor”.

Comparando diferentes tipos

La comparación de datos de diferentes tipos puede dar resultados inesperados.

Al comparar una cadena con un número, JavaScript convertirá la cadena en un número al hacer la comparación. Una cadena vacía se convierte en 0. Una cadena no numérica se convierte en NaN, que siempre es falso.

Ejm

Case Value
2 < 12 true
2 < “12” true
2 < “John” false
2 > “John” false
2 == “John” false
“2” < “12” false
“2” > “12” true
“2” == “12” false

Al comparar dos cadenas, “2” será mayor que “12”, porque (alfabéticamente) 1 es menor que 2. Para asegurar un resultado adecuado, las variables deben convertirse al tipo adecuado antes de la comparación:

Ejm

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Comparisons</h2>
<p>Input your age and click the button:</p>
<input id="age" value="18" />
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>

<script>
function myFunction() {
var age, voteable;
age = Number(document.getElementById("age").value);
if (isNaN(age)) {
voteable = "Input is not a number";
} else {
voteable = (age < 18) ? "Too young" : "Old enough";
}
document.getElementById("demo").innerHTML = voteable;
}
</script>

</body>
</html>