Рубрики
Без рубрики

Нан не число?

Недавно JavaScript стал моим основным языком развития, поэтому я должен решить сложные проблемы с использованием JavaScript, один из сложных задач был в числовой операции, как представлять отсутствие …

Автор оригинала: Janaka Dissanayake.

Недавно JavaScript стал моим основным языком развития, поэтому я должен решить сложные проблемы с использованием JavaScript, один из сложных задач был в числовой операции, как представлять отсутствие числового значения, мы используем

0           // 0 has a specific value 
undefined   // it is not numeric
null        // it is an object
false       // boolean type
-1          // another specific value

В спецификации IEEE предоставьте специальный битовый шаблон или значения вызова NAN, он называется неверным числом

typeof NaN  // "number"

Так что если мы используем числовую операцию в функции, нам нужно получить числовой ответ

const ageCompare = (age,newAge) => { 
  return Number(age) - Number(newAge)
}

const result = ageCompare(10,2)     // 8
const result = ageCompare(10,"n/a") // NaN
const result = ageCompare("myAge","n/a") // NaN

Number.isNaN(result) ... // true

*** NAN – единственное значение, которое не равно друг другу

NAN===NAN  // false