I Shar

I Shar

мир глазами веб-разработчика

JavaScript: null и undefined

сравниваем результат сложения null и undefined

I Shar

время чтения 1 мин.

Photo by tamara garcevic on Unsplash

Что даст строгое сравнение null с null? А undefined c undefined? А что, если сложить null с undefined и сравнить идентичные выражения?

console.log(null === null);
console.log(undefined === undefined);
console.log(null + undefined === null + undefined);

Ответ довольно прост.

Сравнение null с null вернет true:

console.log(null === null); // true

Такой же результат даст и сравнение undefined с undefined:

console.log(undefined === undefined); // true

Теперь посмотрим, что даст сумма null и undefined:

console.log(null + undefined); // NaN

Результатом такого сложения будет NaN.

NaN в JavaScript является глобальным свойством, значение которого определяет не-число (Not-A-Number).

Особенностью NaN является то, что оно неравно ничему, включая другое значение NaN.

Таким образом, сравнение:

console.log(null + undefined === null + undefined); // false

эквивалентно:

console.log(NaN === NaN); // false

А значит полученный результат сравнения суммы null + undefined с таким же выражением будет соответствовать false.


Спасибо за внимание.

    • frontend
    • js

Новые публикации

Далее

Категории

О нас

Frontend & Backend. Статьи, обзоры, заметки, код, уроки.