Estoy tratando de implementar el algoritmo descrito en ES262, El algoritmo de comparación de igualdad abstracta . Afirma:
Si Tipo(x) es lo mismo que Tipo(y), entonces
una. Si Tipo(x) es Indefinido, devuelve verdadero.
b. Si Tipo(x) es Nulo, devuelve verdadero.
Así que cuando realizamos la comparación:
console.log(null == {})debería evaluarse como verdadero, porque null y {} tienen el mismo tipo. ¿Lo entiendo correctamente?
debería evaluarse como verdadero porque nulo y {} tienen el mismo tipo y x es nulo,
Este es tu error.
null es del tipo nulo{} es del tipo de objetoLos tipos son diferentes.