Функция isNaN в JavaScript

Функция isNaN() проверяет является ли значение числом. Эта статический метод класса Number и вызывается он через ссылку на класс, то есть таким образом:

Number.isNaN(come_value)

Здесь some_value является проверочным значением и может быть любого типа, которые есть в JavaScript. Данная функция не поддерживается браузерами Internet Explorer до 11-й версии.

Этот метод возвращает true в том случае, если проверяемое значение является не числом (NaN). В противном случае возвращается false. Если лезть под капот этого метода, то выясняется, что значение которое проверяется в методе не конвертируется в Number, но проверяется на совместимость с NaN.

Применение метода

Рассмотрим несколько примеров применения метода isNaN().

Пример:

Number.isNaN(654); // false не NaN
Number.isNaN(0); // false – ноль такое же число как и остальные
Number.isNaN(‘Hello’); // false – строка была сконвертирована посимвольно в числа кодов

Глобальный метод isNaN()

Глобальный метод isNaN() не принадлежит классу Number. Эта функция вызывается без предварительной ссылки на класс, то есть isNaN(). Она возвращает true для всех значений, которые не являются числами.
Тем не менее, если мы будем испытывать глобальный isNaN на тех же аргументах функции в примерах выше, то результат будет аналогичен.

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

Еще раз нужно уточнить, что Number.isNaN() не конвертирует значение в число, поэтому строка в виде цифры будет распознана как число. Когда глобальный метод isNaN() конвертирует значение в число и если оно NaN, то возвращается true.

Конечно всегда можно избежать использование этой функции. Для этого достаточно проводить тестирование кода в консоли. Однако в некоторых случаях эта функция позволяет настроить более гибкое выполнение программы. Ведь пользователи вводят самые разные данные в формы, isNaN позволяет настроить валидацию полей и скорректировать правильность вводимых данных.

Образовательный портал 3TY.RU
Adblock
detector