Некоторые значения автоматически преобразуются для сравнения или назначения.
Одним из таких преобразований является преобразование undefined
в null
при повышении до Object
.Следовательно, null == undefined
, потому что то, что в основном было сделано, на самом деле Object(null) == Object(undefined)
, а это null == null
.
Однако, если вы выполните строгое сравнение, они не будут преобразованы и, следовательно, не будут равны, то есть null === undefined
будетуступить ложь.