Операторы относительного сравнения подразумевают числовой контекст, поэтому в этих случаях (>
, >=
) null
преобразуется в число (ноль).
В случае ==
однако оба значения рассматриваются как логические значения, и Javascript не считает, что null
должно быть равно любым другим значениям «ложного» значения.Это немного странно.Алгоритм равенства для ==
имеет несколько особых случаев, и null
является одним из них.Это только ==
для себя и undefined
.