endJS

Negation Equals Itself

One would think that when you logically negate something, it is distinct from itself. Turns out, not in JS:

> [] == ![]
true

An interesting corollary of this is that the double negation does not equal itself.

> !![] == []
false