Comparación de JavaScript y operadores lógicos
Los operadores lógicos y de comparación se utilizan para probar true
o
false
.
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 | Try it |
---|---|---|---|---|
== | equal to | x == 8 | false | |
x == 5 | true | |||
x == "5" | true | |||
=== | equal value and equal type | x === 5 | true | |
x === "5" | false | |||
!= | not equal | x != 8 | true | |
!== | not equal value or not equal type | x !== 5 | false | |
x !== "5" | true | |||
x !== 8 | true | |||
> | greater than | x > 8 | false | |
< | less than | x < 8 | true | |
>= | greater than or equal to | x >= 8 | false | |
<= | less than or equal to | x <= 8 | true |
Como puede ser usado
Los operadores de comparación se pueden usar en declaraciones condicionales para comparar valores y tomar medidas según el resultado:
if (age < 18) text = "Too young to buy alcohol";
Aprenderá más sobre el uso de sentencias condicionales en el siguiente capítulo de este tutorial.
Operadores logicos
Los operadores lógicos se utilizan para determinar la lógica entre variables o valores.
Dado que x = 6
y y = 3
, la siguiente tabla explica los operadores lógicos:
Operator | Description | Example | Try it |
---|---|---|---|
&& | and | (x < 10 && y > 1) is true | |
|| | or | (x == 5 || y == 5) is false | |
! | not | !(x == y) is true |
Operador condicional (ternario)
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
Ejemplo
let voteable = (age < 18) ? "Too young":"Old enough";
Si la variable edad es un valor inferior a 18, el valor de la variable votable será "Demasiado joven", de lo contrario, el valor de votable será "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 realizar la comparación. Una cadena vacía se convierte en 0. Una cadena no numérica se convierte en NaN
lo que siempre es false
.
Case | Value | Try |
---|---|---|
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:
age = Number(age);
if (isNaN(age)) {
voteable = "Input is not a number";
} else {
voteable = (age < 18) ? "Too young" : "Old enough";
}