Tracks
/
JavaScript
JavaScript
/
Temario
/
Comparación
Co

Comparación en JavaScript

12 ejercicios

Acerca de Comparación

Comparación de números

En JavaScript los números se pueden comparar usando los siguientes operadores relacionales y de igualdad.

Comparación Operador
Mayor que a > b
Mayor o igual que a >= b
Menor que a < b
Menor o igual que a <= b
Igualdad (estricta) a === b
Desigualdad (estricta) a !== b

El resultado de la comparación siempre es un valor Boolean, es decir, true o false.

1 < 3;
// => true

2 !== 2;
// => false

1 === 1.0;
// => true
// All numbers are floating-points, so this is different syntax
// for the exact same value.

Comparación de strings

En JavaScript, los operadores de comparación anteriores también se pueden usar para comparar strings. En ese caso, se aplica un orden de diccionario (lexicográfico). Puedes encontrar una lista del orden exacto de todos los caracteres aquí.

'Apple' > 'Pear';
// => false

'a' < 'above';
// => true

'a' === 'A';
// => false

Debes tener cuidado cuando comparas dos variables que parecen contener valores numéricos pero son de tipo string. Debido al orden de diccionario, el resultado no será el mismo que comparar valores de tipo Number.

10 < 2;
// => false

'10' < '2';
// => true (because "1" comes before "2")

Otra forma de comparar strings es el método localeCompare. Permite configurar una variedad de opciones para ajustar la forma en que se comparan los strings.

Igualdad estricta

Quizás te preguntes por qué se usan tres signos de igual para comprobar la igualdad en JavaScript. === representa la comprobación de igualdad estricta, lo que significa que no se realiza ninguna conversión de tipos y que los valores de tipos diferentes siempre son desiguales.

'3' === 3;
// => false
// The value on the left has type string, the value on the right
// has type number.

1 === 1n;
// => false
// The value on the left has type number, the value on the right
// has type bigint.

Usar === y !== es la forma recomendada de comprobar la igualdad en JavaScript.

Evitar la conversión de tipos implícita

También existen == y !=, que representan la comprobación de igualdad no estricta. Deberías evitarlos porque aplican una conversión de tipos implícita antes de realizar la comparación. Los resultados en estos casos son difíciles de predecir y a veces no son lo que esperarías. Puedes leer más al respecto aquí.

0 == false;
// => true

En teoría, también puedes comparar valores de diferentes tipos (por ejemplo, "1" < 2). Entonces los valores se convertirán implícitamente para determinar si el resultado es verdadero o falso. Al igual que con la comprobación de igualdad no estricta, esto tampoco se recomienda por la misma razón mencionada antes.

¿Qué deberías hacer en su lugar? Puedes aplicar la conversión de tipos explícita. Con eso, puedes asegurarte de que los valores tengan el tipo correcto antes de realizar la comparación. Así tu código será más fácil de entender y menos propenso a errores.

Editar en GitHub El enlace se abre en una ventana o pestaña nueva

Aprende Comparación