Los últimos tutoriales de desarrollo web
 

JavaScript Comparación y operadores lógicos


Comparación y operadores lógicos se utilizan para probar la true o false .


Los operadores de comparación

Los operadores de comparación se utilizan en los estados lógicos para determinar la igualdad o la diferencia entre las variables o valores.

Teniendo en cuenta que x = 5 , la siguiente tabla se explican los operadores de comparación:

Operador Descripción comparando Devoluciones Intentalo
== igual a x == 8false Intentalo "
x == 5true Intentalo "
x == "5"true Intentalo "
=== igual valor y con el tipo x === 5true Intentalo "
x === "5"false Intentalo "
!= no es igual x != 8true Intentalo "
!== no igual valor o no igual tipo x !== 5false Intentalo "
x !== "5"true Intentalo "
x !== 8true Intentalo "
> mas grande que x > 8false Intentalo "
< menos que x < 8true Intentalo "
>= Mayor qué o igual a x >= 8false Intentalo "
<= Menos que o igual a x <= 8true Intentalo "

Como puede ser usado

Los operadores de comparación se pueden utilizar en las sentencias condicionales para comparar los valores y tomar medidas en función del resultado:

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

Usted aprenderá más sobre el uso de instrucciones condicionales en el siguiente capítulo de este tutorial.


Operadores logicos

Los operadores lógicos se utilizan para determinar la lógica entre las variables o valores.

Teniendo en cuenta que x = 6 y y = 3 , la siguiente tabla se explican los operadores lógicos:

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

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

var voteable = (age < 18) ? "Too young":"Old enough";
Inténtalo tú mismo "

Si la edad variable es un valor por debajo de 18, el valor de la variable de voteable será "demasiado joven", de lo contrario el valor de voteable será "bastante mayor".


La comparación de diferentes tipos

Al comparar los datos de diferentes tipos pueden dar resultados inesperados.

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

Caso Valor Tratar
2 < 12true Intentalo "
2 < "12"true Intentalo "
2 < "John"false Intentalo "
2 > "John"false Intentalo "
2 == "John"false Intentalo "
"2" < "12"false Intentalo "
"2" > "12"true Intentalo "
"2" == "12"false Intentalo "

Al comparar dos cadenas, "2" será mayor que el "12", porque (por orden alfabético) 1 es inferior a 2.

Para asegurar un resultado adecuado, las variables deben ser convertidos al tipo adecuado antes de la comparación:

age = Number(age);
if (isNaN(age)) {
    voteable = "Error in input";
} else {
    voteable = (age < 18) ? "Too young" : "Old enough";
}
Inténtalo tú mismo "

Los operadores bit a bit de JavaScript

operadores bit trabajan con números de 32 bits.

Cualquier operando numérico en la operación se convierte en un número de 32 bits.

El resultado se convierte de nuevo a una serie de JavaScript.

Operador Descripción Ejemplo Igual que Resultado Decimal
& AND x = 5 & 1 0101 & 0001 0001 1
| OR x = 5 | 1 0101 | 0001 0101 5
~ NOT x = ~ 5  ~0101 1010 10
^ XOR x = 5 ^ 1 0101 ^ 0001 0100 4
<< Left shift x = 5 << 1 0101 << 1 1010 10
>> Right shift x = 5 >> 1 0101 >> 1 0010 2

La tabla anterior el uso de 4 bits sin signo ejemplos. Pero JavaScript utiliza números con signo de 32 bits.
Debido a esto, en JavaScript, ~ 5 no retornará 10. Se volverá -6:
~ 00000000000000000000000000000101 volverá 11111111111111111111111111111010

Ejemplo

x = 5 & 1;

El resultado en x:

1
Inténtalo tú mismo "

Ejemplo

x = 5 | 1;

El resultado en x:

5
Inténtalo tú mismo "

Ejemplo

x = 5 >> 1;

El resultado en x:

2
Inténtalo tú mismo "

Ejemplo

x = 5 << 1;

El resultado en x:

10
Inténtalo tú mismo "

Ejemplo

x = ~ 5;

El resultado en x:

-6
Inténtalo tú mismo "

Ponte a prueba con los ejercicios!

Ejercicio 1 » Ejercicio 2» Ejercicio 3 » Ejercicio 4» Ejercicio 5 » Ejercicio 6»