Saltar al contenido principal
01Introducción

Operadores de comparación

Clase 4 de 104 min de lectura

¿Es 5 mayor que 3? ¿Son iguales estos dos textos? Los operadores de comparación sirven para hacerle a JavaScript ese tipo de preguntas sobre dos valores, y la respuesta siempre es un booleano: true o false.

Los dos primeros te sonarán del colegio: > comprueba si un número es mayor que otro y < si es menor.

Consola
Escribes:5 > 3
Devuelve:true
Escribes:5 < 3
Devuelve:false

Si además quieres dar por buena la igualdad, tienes >= (mayor o igual que) y <= (menor o igual que). Fíjate en lo que pasa cuando los dos números son el mismo:

5 >= 3 // -> true5 >= 5 // -> true5 <= 3 // -> false5 <= 5 // -> true

Para saber si dos valores son iguales se usa el operador === y, para saber si son diferentes, el operador !==.

5 === 5 // -> true5 !== 5 // -> false

Sí, son tres signos de igual. Al final de la clase te cuento por qué.

Ejercicios de código interactivos
Escribe un código que compruebe si 10 es mayor o igual que 9
Comprueba que 0 es igual a 0

Comparando cadenas de texto

Los comparadores no son solo cosa de números. También funcionan con cadenas de texto y con otros tipos de datos.

'JavaScript' === 'JavaScript' // -> true'JavaScript' === 'Java' // -> false'JavaScript' !== 'PHP' // -> true`Estoy Aprendiendo JavaScript` === 'Estoy Aprendiendo JavaScript' // -> true

Mira la última línea: una cadena usa acentos graves y la otra comillas simples, y aun así son iguales. Las comillas dan lo mismo, lo que importa es que el texto sea idéntico.

¿Y si usamos el operador > con cadenas de texto?

No es muy común, pero se puede: >, >=, < y <= también comparan cadenas de texto.

¿Y cómo decide JavaScript qué texto es «mayor»? Compara las cadenas según el valor de su código Unicode, un número que tiene asignado cada carácter. La letra A vale 65 y la B vale 66, así que A es menor que B.

'Alfa' > 'Beta' // -> false'Omega' > 'Beta' // -> true'alfa' > 'Alfa' // -> true

Comparando booleanos

Los booleanos también se pueden comparar entre sí:

true === true // -> truetrue === false // -> falsefalse !== false // -> false

¿Y con mayor o menor que (> y <)? No tiene mucho sentido compararlos así, pero por si te lo preguntas: true es mayor que false.

true > false // -> truefalse < true // -> truetrue > true // -> falsefalse < false // -> false
Infografía
Una comparación siempre devuelve true o false
6.Aunque no tenga mucho sentido, con booleanos true es mayor que false.
Paso 6 de 6

Comparando valores de diferentes tipos

Hasta aquí siempre hemos comparado valores del mismo tipo. ¿Qué pasa si comparas, por ejemplo, un número con una cadena de texto? En JavaScript es posible, pero no suele ser recomendable.

En clases posteriores veremos cómo funciona ese mecanismo y explicaremos el operador de igualdad débil == y el de desigualdad débil !=, que solo llevan dos signos. Por ahora nos quedamos con los de tres: la igualdad estricta === y la desigualdad estricta !==.

En resumen

  • Los operadores de comparación comparan dos valores y siempre devuelven true o false.
  • >, <, >= y <= comprueban si un valor es mayor o menor que otro.
  • === comprueba si dos valores son iguales y !== si son diferentes.
  • Las cadenas de texto se comparan por su código Unicode: las mayúsculas valen menos que las minúsculas.
  • Por ahora, usa siempre === y !== en lugar de == y !=.