Earlier quoted context omitted.
Are you seriously suggesting that, widgety though JS's implicit type conversions might be, if its booleans had three values then things would be better?
Why not? SQL has three valued logic. It's not a novel idea.
For my money, the only sane thing to do with e.g. "null >= 0" is to throw an exception. (Even better would be just rejecting it at compile time, but JS obviously doesn't have that luxury.)
[1] https://en.wikipedia.org/wiki/Null_(SQL)#Law_of_the_excluded...
EDIT: Ninja edit: I do understand that NaN has 'reasons', but ideally it'd really want NaN == x to trap rather than just doing 'the weird thing'.