Я строил форму на днях в Vue И мне пришлось писать номер проверки для поля, чтобы пришлось написать логику, чтобы проверить, является ли значение входным значением или нет. Я хотел перечислить несколько способов, которыми я узнал, что может быть полезным для других.
Примечание: В JavaScript, специальные значения, такие как Нан , Бесконечность и -Infinity Номера тоже – хотя мы игнорируем эти ценности.
1) Использование ISNAN ()
Isnan () Определяет, является ли значение Нан или не. Мы можем воспользоваться этим, чтобы определить, является ли переменная номера или нет.
var numberOfpushUpsToday = 34;
if(!isNaN(numberOfpushUpsToday)){
console.log('It is a number')
}
else {
console.log('It is not a number')
}
!isNaN(34) // returns true
!isNaN('34') // returns true
!isNaN('Hello') // returns false
!isNaN(true) // returns true
!isNaN(false) // returns true
!isNaN('undefined') // returns false
Ограничения:
1) возвращает правда для логических ценностей, потому что логические значения преобразуются в номера 0 и 1 Соответственно, так что это будет вводит в заблуждение иногда. 2) У нас такая же проблема для null ценность также. Это возвращает True и, следовательно, нужно быть осторожным во время записи кода.
2) Использование типа ()
Тип Оператор возвращает строку, указывающую тип неетого операнда.
num = 45 strng = '34' typeof num // returns 'number' typeof strng // returns "string" typeof undefined // returns "undefined" typeof null // returns "object"
Если переменная номера типа, она вернет строку Номер Отказ Мы можем использовать это, чтобы определить, является ли переменная типа номер.
var numberOfpushUpsToday = 34;
if(typeof numberOfpushUpsToday === 'number' ){
console.log('It is a number')
}
else {
console.log('It is not a number')
}
Тип () Выступает намного лучше, чем Isnan () Отказ Это правильно определяет, что строковая переменная, нулевые и логические значения не являются номерами.
3) Использование номера .isfinite ()
Функция isfinite () Определяет, если прошедшее значение конечно. Аргументы сначала преобразуются в номера, а затем проверяют, является ли значение конечным и, следовательно, это самый лучший способ среди всех упомянутых выше способов.
Number.isFinite(34) // returns true
Number.isFinite('Hello') // returns false
Number.isFinite(undefined) // returns false
Number.isFinite(true) // returns false
Number.isFinite(null) // returns false
var numberOfpushUpsToday = 34;
if(Number.isFinite(numberOfpushUpsToday) ){
console.log('It is a number')
}
else {
console.log('It is not a number')
}
Вывод:
Хотя эти методы могут быть сложными с логическими ценностями, undefined и нулевой Они полезны в решении некоторых проблем в повседневной жизни. Нужно просто быть осторожным во время написания кода в соответствии с их потребностями.
И это суммирует это !!! Спасибо.. Комментарий ниже, если у вас есть какие-либо отзывы или мысли.
Оригинал: “https://dev.to/sanchithasr/3-ways-to-check-if-variable-is-a-number-in-javascript-5731”