Строгое сравнение null и undefined в JavaScript

328ba865 5502 4239 b11c 451cfc0e8c88 HTML

Интересный вопрос: что произойдет при строгом сравнении null с null, undefined с undefined, и что будет, если сложить null с undefined и сравнить идентичные выражения?

Строгое сравнение null с null

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

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

Строгое сравнение undefined с undefined

Строгое сравнение undefined с undefined также вернет true:

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

Сложение null и undefined

Теперь посмотрим, что произойдет, если сложить null и undefined:

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

Результатом такого сложения будет NaN (Not-A-Number).

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

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

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

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

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

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

Вывод

  • Сравнение null с null возвращает true.
  • Сравнение undefined с undefined возвращает true.
  • Сложение null и undefined возвращает NaN.
  • NaN не равно самому себе, поэтому сравнение результатов сложения null + undefined возвращает false.

Эти простые, но важные моменты помогут вам лучше понять работу с null, undefined и NaN в JavaScript.

Оцените статью