В js такое работает потому что при таком сравнении используется приведение типов. Сравнение:
null === undefined // false
null == undefined // true
null === null // true
undefined означает, что переменная не объявлена или ей не присвоено никакого значения. null может быть присвоен переменной и означает, что у переменной нет значения.
Какой плачевно, почти все живы здоровы, некоторые даже счастливы. Куда уж лучше?
Меня наоборот бесит впихивание хэпи энда везде не к месту. К примеру отличная концовка у ранобэ "All you need is kill", сильная и грустная, а у снятого на его основе "Edge of Tomorrow" концовка лютое говно смывающее весь фильм в пизду. Зато хэпи энд!
Или какая-нибудь картинка нормальная, красивая, тоже очень хорошо. А еще бесит когда акторов из фильмов или сериалов на обложку ставят, найти книгу "Марсианин" без Мэтта Деймона оказалось не так то просто, а ведь оригинальная обложку во много раз лучше.
var TestVar1;
typeof TestVar1; //undefined
var TestVar2 = null;
typeof TestVar2; //object
null === undefined // false
null == undefined // true
null === null // true
undefined означает, что переменная не объявлена или ей не присвоено никакого значения. null может быть присвоен переменной и означает, что у переменной нет значения.
Меня наоборот бесит впихивание хэпи энда везде не к месту. К примеру отличная концовка у ранобэ "All you need is kill", сильная и грустная, а у снятого на его основе "Edge of Tomorrow" концовка лютое говно смывающее весь фильм в пизду. Зато хэпи энд!