Comparaciones en JavaScript
Existen diversos operadores de comparación en JavaScript, similares a los de las matemáticas:
- Mayor/menor que: a > b, a < b.
- Mayor/menor o igual que: a >= b, a <= b.
- Igualdad: a == b (ten en cuenta que == es para comparación, mientras que a = b es asignación).
- Distinto: a != b.
Las comparaciones en JavaScript devuelven un valor booleano:
- true significa «sí» o «verdadero».
- false significa «no» o «falso».
Ejemplos:
console.log( 2 > 1 ); // true
console.log( 2 == 1 ); // false
console.log( 2 != 1 ); // true
El resultado de una comparación se puede asignar a una variable:
let result = 5 > 4;
console.log( result ); // true
Comparación de cadenas
Para comparar cadenas, JavaScript utiliza un orden lexicográfico, como en un diccionario:
console.log( 'Z' > 'A' ); // true
console.log( 'Glow' > 'Glee' ); // true
console.log( 'Bee' > 'Be' ); // true
El algoritmo compara letra por letra y considera las mayúsculas y minúsculas.
Comparación de diferentes tipos
Cuando se comparan valores de tipos diferentes, JavaScript convierte los valores a números:
console.log( '2' > 1 ); // true, '2' se convierte a número
console.log( '01' == 1 ); // true, '01' se convierte a número
Los valores booleanos se convierten a números: true a 1 y false a 0:
console.log( true == 1 ); // true
console.log( false == 0 ); // true
Igualdad estricta
El operador === compara la igualdad sin conversión de tipo:
console.log( 0 === false ); // false, tipos diferentes
Comparación con null e undefined
Para ==, null y undefined son iguales entre sí, pero no a otros valores:
console.log( null == undefined ); // true
Para ===, null y undefined no son iguales:
console.log( null === undefined ); // false
Resumen
- Los operadores de comparación retornan valores booleanos.
- Las cadenas se comparan letra por letra en orden lexicográfico.
- Al comparar diferentes tipos, JavaScript convierte los valores a números.
- null y undefined son iguales entre sí para == pero no para ===.
Evitar problemas
- Usa === para evitar conversiones automáticas.
- Ten cuidado al comparar con null o undefined usando >, <, >=, <=.
Este texto modificado incorpora sinónimos y estructuras alternativas para evitar repeticiones del contenido original.