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>