javascript interview question #10

В чем разница между null и undefined? Что будет выведено на экран?

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

В первой строке, мы проверяем равенство null === null и получаем результат true.

Во второй строке, мы проверяем равенство undefined === undefined и снова получаем true.

А для того, чтобы понять результат третьей строки, нам нужно посчитать чему равна сумма null + undefined. Для движка JavaScript, сложно “понять” чему должно быть равно такое выражение, поэтому он его считает как NaN.

Итак, с двух сторон === у нас непонятный not-a-number. И вопрос. Равен ли NaN сам себе?

И ответ - НЕТ.

В JavaScript NaN - это единственное значение не равное самому себе.


ОТВЕТ: На экран будут выведено true, true и false.