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

Не число

Проверка Нэн – это сложно, прежде всего, это просто не тривиально проверить это. НАН // … Tagged с помощью алгоритма, Computerscience, ShowDev, JavaScript.

Прежде всего, это просто не тривиально проверить это.

NaN === NaN // false

Это один из тех Headscratchers, которые такие только потому, что. Короче говоря, есть Spec для номеров с плавающей запятой, которые определяют, что НАН Значения никогда не равны.

Тогда в течение долгого времени у нас было только isnan () Метод, который охватывает приведенный выше случай, но он дает вам неожиданные результаты.

isNaN(NaN) // true
isNaN('foo') // true

Это сбивает с толку. Чтобы перемещаться по этой проблеме, в дни ES5 люди обычно делали что -то вроде:

const isReallyNaN = value => {
  const n = isNaN(value)
  return n !== n
}

К счастью, с тех пор, как ES6 появился, у нас теперь есть новый метод в Номер прототип, который работает последовательно по всем случаям:

Number.isNaN('foo') // false
Number.isNaN(NaN) // true

Важно отметить, оба Иснан и Number.isnan доступны, осторожны, чтобы не смешивать их! 💥

использованная литература

Оригинал: “https://dev.to/atila/not-a-number-3j69”