Читать книгу Aprender Javascript Avanzado con 100 ejercicios prácticos - MEDIAactive - Страница 17

011 Operadores de igualdad

Оглавление

JAVASCRIPT DISPONE DE DOS TIPOS DE operadores para deter-minar la igualdad entre valores. Los operadores denominados de igualdad y de desigualdad estricta (=== y !==) y los denominados de igualdad y de desigualdad normal (== y !=). Por las razones que se verán en este ejercicio, los expertos recomiendan utilizar los operadores estrictos y evitar, en la medida de lo posible, los normales.

1. En este ejercicio trataremos de describir y comprobar cómo se utilizan los distintos operadores de igualdad existentes en JavaScript. Empezaremos por los operadores estrictos, tanto de igualdad como de desigualdad.

2. El operador de igualdad estricta se representa con los signos === (3 signos de igualdad) y el de desigualdad estricta con la combinación de signos !== (1 signo de exclamación cerrado y 2 signos de igualdad).

3. Estos operadores consideran sólo aquellos valores que son del mismo tipo para ser iguales. Los valores de diferentes tipos no son nunca estrictamente iguales. Si los dos valores escritos en la sentencia son del mismo tipo, entonces el resultado es estrictamente igual.

4. Los comparadores de igualdad estrictos pueden comparar dos números, pares de datos booleanos, pares de datos de cadenas de texto, objetos... En todos estos casos, la igualdad está garantizada.


Los operadores de igualdad, sean del tipo que sean, no se pueden personalizar en JavaScript.

En sentencias condicionales, las siguientes comparaciones de igualdad estrictas darían como resultado el elemento incluido en cada comentario.

5. En cuanto al operador de desigualdad estricta (!==), éste equivale a la negación de una comparación de igualdad estricta:

caso1 !== caso2;

!(caso1 === caso2)

6. ¿Qué comportamiento tienen los operadores de igualdad normales? Estos comparadores (== y !=) realizan primero una conversión a un mismo tipo de dato para comprobar si ambos son iguales. Veamos en qué consisten estas conversiones.


En el caso de la comparación NaN == NaN , el resultado es siempre false, puesto que el elemento NaN no es número y no se puede comparar.

7. Si la sentencia contiene una cadena de texto y un número, el operador de igualdad convierte la cadena de texto en número para saber si ambos datos son iguales; esta comparación se realiza mediante un comparador de igualdad estricto.

8. Si la sentencia contiene un dato booleano y otro no booleano, el operador convierte el primero en un número y los compara de forma normal (== o !=).

9. En el caso en que la sentencia contenga un objeto y un número o una cadena de texto, el operador intentará convertir el objeto en un dato primitivo y realizará la comparación normal.

10. Es por este proceso de conversión que es altamente recomendable realizar las comparaciones mediante los operadores de igualdad estrictos.

IMPORTANTE

La conversión entre tipos de datos conlleva principalmente dos problemas: el primero de ellos es que las reglas de conversión en general pueden producir resultados inesperados y el segundo, que, debido a la indulgencia del operador, los errores de tipo pueden no resultar evidentes nunca.

Aprender Javascript Avanzado con 100 ejercicios prácticos

Подняться наверх