Veamos con este ejemplo la diferencia entre los operadores ‘==’ y ‘===’:
Javascript tiene dos operadores de igualdad ‘===’ y ‘==’. El operador ‘===’ retornará true si los dos operandos son del mismo tipo Y tienen el mismo valor.
En cambio, el operador ‘==’ intenta forzar una conversión si los operandos son de distinto tipo para luego comparar los valores.
Veamos otro ejemplo:
En realidad el operador ‘===’ verifica que ambos operandos apunten al mismo objeto o en el caso de tipo de datos de valor que ambos operandos tengan el mismo valor.
Veamos un ejemplo de esto con strings:
Acá vemos que con ‘===’ da false porque hablamos de distintos objetos.
Performance
Se corrió lo siguiente 6 veces con cada operador de igualdad y los resultados arrojaron una mejor performace con el operador ‘===’.
Usen la implementación de console.time and console.timeEnd en caso de que prueben
con explorer 8:
Conclusión: aunque la diferencia no es grande (dependiendo del caso), vemos que con ‘===’ obtuvimos un mejor tiempo.
Las buenas prácticas nos dicen que siempre debemos usar ‘===’ para evitar errores lógicos y de performance a menos que tengamos en claro que usamos ‘==’ por alguna razón.