Comparadores estrictos en Javascript
Jueves, 11 Mayo 2017
Autana BP
Alguna vez, a lo largo de vuestras andaduras por códigos Js podreis ver que cada vez más gente usa el triple igual «===» estos comparadores llamados «comparadores estrictos» se pueden usar desde la implementación de ECMAScript 3.
La principal diferencia entre estos comparadores y el comparador de igualdad habitual es que con los comparadores estrictos los objetos comparados tienen que tener el mismo tipo además del mismo valor, es decir:
- Dos Strings son estrictamente iguales si tienen la misma longitud, los mismos caracteres en sus correspondientes posiciones, misma secuencia de caracteres… etc.
- Dos números son estrictamente iguales si tienen el mismo valor numérico.
- NaN no es igual a nada, ni siquiera a si mismo.
- El cero positivo y el cero negativo son iguales a si mismos.
- Dos operadores booleanos son estrictamente iguales si ambos son true o ambos son false.
- Dos objetos son estrictamente iguales si ambos hacen referencia al mismo Object.
- Null y Undefined son == pero no ===.
0 == false // true
0 === false // false, son de tipo diferente
1 == «1» // true, conversion automatica de tipo y comparacion del valor
1 === «1» // false, son de tipo diferente
null == undefined // true
null === undefined // false
‘0’ == false // true
‘0’ === false // false







