Los operadores de comparación son símbolos que permiten comparar dos valores y obtener un resultado booleano: verdadero o falso. Las comparaciones posibles son bastante habituales, pues permiten determinar si dos valores son iguales, diferentes, menores o mayores. Por tanto, permiten evaluar expresiones.
Es evidente, por lógica, que los operadores de comparación son de tipo binario, ya que requieren dos operandos para poder realizar una comparación. Dichos operandos pueden ser datos de cualquier tipo, como podría ser dos números, dos cadenas de texto, valores lógicos, objetos o arrays.
En JavaScript hay ocho operadores de este tipo:
Operador | Nombre | Descripción |
---|---|---|
== | Igualdad | Comprueba si dos valores son iguales, realizando conversión de tipo si es necesario. |
=== | Igualdad estricta | Comprueba si dos valores son iguales y del mismo tipo. |
!= | Desigualdad | Comprueba si dos valores son diferentes, realizando conversión de tipo si es necesario. |
!== | Desigualdad estricta | Comprueba si dos valores son diferentes o de distinto tipo. |
> | Mayor que | Comprueba si el operando izquierdo es mayor que el derecho. |
< | Menor que | Comprueba si el operando izquierdo es menor que el derecho. |
>= | Mayor o igual que | Comprueba si el operando izquierdo es mayor o igual que el derecho. |
<= | Menor o igual que | Comprueba si el operando izquierdo es menor o igual que el derecho. |
En la mayoría de los operadores de comparación, JavaScript realiza coerción de tipo cuando los operandos son de tipos de datos diferentes. La excepción a esta regla son los operadores de igualdad estricta (===
) y desigualdad estricta (!==
), que comparan los valores sin ninguna conversión de tipo.
Durante el proceso de coerción, si una cadena de texto contiene un valor numérico, se convierte al tipo number
. Si contiene caracteres no numéricos, se convierte a NaN
(Not a Number). Si la cadena está vacía, se convierte en 0
.
Igualdad
El operador de igualdad está representado por dos caracteres del símbolo igual (==
) y comprueba si el valor de dos operandos es idéntico o no. Devuelve true
(verdadero) si sin iguales; en caso contrario, devuelve false
(falso). Si son de diferente tipo se realiza la conversión de tipo.
2 == 4; // false
4 == 4; // true
4 == '4'; // true
En este ejemplo, la última comparación devuelve true
(verdadero) porque JavaScript convierte la cadena de texto '4'
al tipo numérico 4
. Después de la coerción, evalúa la igualdad.
Igualdad estricta
El operador de igualdad estricta, compuesto por tres caracteres del símbolo igual (===
), comprueba si el valor de dos operandos es idéntico, pero además comprueba que sean del mismo tipo. JavaScript no realizará la conversión de tipo. Por tanto, si son de diferente tipo, devuelve false
(falso).
2 === 4; // false
4 === 4; // true
4 === '4'; // false
Desigualdad
La desigualdad viene representada por el signo de exclamación y el igual (!=
). Este operador comprueba si los valores de dos operandos no son iguales. Si no son iguales, devuelve true
(verdadero); en caso contrario, devuelve false
(falso). En caso de ser necesario, realiza la coerción del tipo de dato.
2 != 4; // true
4 != 4; // false
4 != '4'; // false
Desigualdad estricta
El operador de desigualdad estricta está compuesto por el signo de exclamación y dos caracteres del símbolo igual (!==
). Este operador devuelve true
(verdadero) si dos operandos no son idénticos o si no son del mismo tipo. En cambio, si son iguales y del mismo tipo devuelve false
(falso).
2 !== 4; // true
4 !== 4; // false
4 !== '4'; // true
Mayor que
El operador mayor que (>
) comprueba si el valor del operando de la izquierda es mayor que el valor del operando de la derecha. Si es afirmativa, dicha comparación devuelve true
(verdadero); en caso contrario, devuelve false
(falso).
8 > 5; // true
5 > 8; // false
Menor que
El operador menor que (>
) comprueba si el valor del operando de la izquierda es menor que el valor del operando de la derecha. En caso de ser cierto, el resultado será true
(verdadero); en caso contrario, será false
(falso).
5 < 8; // true
8 < 5; // false
Mayor o igual que
El operador mayor o igual que está formado por dos caracteres: >=
. Comprueba si el valor del operando de la izquierda es mayor o igual que el operando de la derecha. Por tanto, si es mayor o contiene el mismo valor, devolverá true
(verdadero); en caso contrario, devolverá false
(falso).
8 >= 5; // true
8 >= 8; // true
5 >= 8; // false
Menor o igual que
El operador menor o igual que usa estos dos símbolos: <=
. Lo que hace es revisar que el valor del operando izquierdo sea menor o igual que el operando de la derecha. Si es menor o contiene el mismo valor, devolverá true
(verdadero); pero en caso contrario, devolverá false
(falso).
5 <= 8; // true
8 <= 8; // true
8 <= 5; // false