Как проверить, является ли переменная числом в JavaScript

JavaScript

Автор: Маркус Санатан Переводчик: Front-end Xiaozhi Источник: stackabuse

Ставь лайк и смотри, поиск в WeChat【Переезд в мир】Обратите внимание на этого человека, который не имеет большого фабричного прошлого, но имеет восходящий и позитивный настрой. эта статьяGitHub GitHub.com/QQ449245884…Он был включен, статьи были классифицированы, и многие мои документы и учебные материалы были систематизированы.

Все говорили, что нет проекта для написания резюме, поэтому я помог вам найти проект, и это было с бонусом.【Учебник по строительству】.

Введение

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

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

картина"10"Строки, подобные числам, не должны приниматься. В JavaScript что-то вродеNaN,Infinityа также-InfinityСпециальные значения типа также имеют тип number.

Согласно этим требованиям, встроенные функции предпочтительно используютсяNumberв объектеisFinite()функция. Однако разработчики часто используют другие функции, такие какNumber.isNaN()а такжеtypeof()функция.

Сначала создадим несколько переменных:

let intVar = 2;
let floatVar = 10.5;
let stringVar = '4';
let nanVar = NaN;
let infinityVar = Infinity;
let nullVar = null;
let undefinedVar = undefined;

Использовать имя функции Number.isFinite()

Number.isFinite()Функция проверяет, является ли переменная числом, а также проверяет, является ли она числом.конечное значение. Следовательно, дляNaN,Infinityили-Infinityномер, он возвращаетfalse.

Давайте проверим это с помощью переменных, определенных выше:

> Number.isFinite(intVar);
true
> Number.isFinite(floatVar);
true
> Number.isFinite(stringVar);
false
> Number.isFinite(nanVar);
false
> Number.isFinite(infinityVar);
false
> Number.isFinite(nullVar);
false
> Number.isFinite(undefined);
false

Это то, что мы хотим. Специальное отсутствие конечного числа и тип любой неметной переменной будет игнорироваться. Итак, если вы хотите проверить, является ли переменная номер, лучший способ использоватьNumber.isFinite()функция.

Использование метода Number.isNaN()

стандартныйNumberобъект имеетisNaN()метод. Он принимает параметр и определяет, является ли его значениеNaN. Поскольку мы хотим проверить, является ли переменная числом, мы будем использовать оператор not при проверке!.

> !Number.isNaN(intVar);
true
> !Number.isNaN(floatVar);
true
> !Number.isNaN(stringVar);
true # Wrong
> !Number.isNaN(nanVar);
false
> !Number.isNaN(infinityVar);
true # Wrong
> !Number.isNaN(nullVar);
true # Wrong
> !Number.isNaN(undefinedVar);
true # Wrong

Этот метод довольно разрешительный в том смысле, что он принимает значения, которые вовсе не являются числами. Этот метод работает лучше всего, когда вы знаете, что у вас есть номер, и хотите проверить, является ли онNaNзначение вместо общей проверки числа.

Используйте метод typeof()

typeof()Функция — это глобальная функция, которая принимает переменную или значение в качестве параметра и возвращает строковое представление своего типа. JavaScript имеет в общей сложности9типы

  • undefined
  • boolean
  • number
  • string
  • bigint
  • symbol
  • object
  • null (typeof() показывает, чтоobject)
  • функция (особый тип объекта)

Чтобы убедиться, что переменная является числом, нам просто нужно проверитьtypeof()Является ли возвращаемое значение `"number". Давайте попробуем тестовую переменную:

> typeof(intVar) == 'number';
true
> typeof(floatVar) == 'number';
true
> typeof(stringVar) == 'number';
false
> typeof(nanVar) == 'number';
true # Wrong
> typeof(infinityVar) == 'number';
true # Wrong
> typeof(nullVar) == 'number';
false
> typeof(undefined) == 'number';
false

typeof()коэффициент производительности функцииNumber.isNaN()Намного лучше. он правильно определяет строковую переменнуюnullа такжеundefinedне числа. Однако дляNaNа такжеInfinity, он возвращаетсяtrue.

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

Суммировать

В этой статье мы узнали, как проверить, является ли переменная числом в JavaScript. Число.isNaN()函数仅在我们知道变量为数字并且需要验证它是否为Применяется только когда NaN`.

Если код имеетNaN,Infinityили-Infinityи другие числа, работает функция typeof()`.

Number.isFinite()Метод захватывает все конечные числа и наиболее подходит для наших требований.


Ошибки, которые могут существовать после развертывания кода, не могут быть известны в режиме реального времени.Чтобы решить эти ошибки впоследствии, много времени тратится на отладку журнала.Кстати, я рекомендую всем полезный инструмент мониторинга ошибок.Fundebug.

оригинал:стек abuse.com/JavaScript-…

общаться с

Статья постоянно обновляется каждую неделю. Вы можете выполнить поиск «Big Move to the World» в WeChat, чтобы прочитать и обновить ее как можно скорее (на одну или две статьи раньше, чем в блоге). Эта статья находится на GitHub.GitHub.com/QQ449245884…Он был включен, и многие мои документы были разобраны. Добро пожаловать в Звезду и совершенство. Вы можете обратиться в тестовый центр для ознакомления во время собеседования. Кроме того, обратите внимание на паблик-аккаунт и ответьте в фоновом режиме.Благосостояние, вы можете увидеть преимущества, вы знаете.