==
Is Not an Equivalence Relation
Javascript's ==
operation is not an equivalence relation. In order to be an equivalence relation, it must be reflexive, symmetric, and transitive. It turns out the only one it has going for it is symmetry. As for the other two, they are easy to prove false:
Transitivity
> '1' == 1
true
> 1 == '01'
true
> `1` == `01`
false
Reflexivity
> NaN == NaN
false