Комплексные методы проверки чисел в TypeScript

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

Метод 1: использование оператора typeof
Оператор typeof позволяет нам проверить тип переменной. Чтобы проверить, является ли переменная числом, мы можем использовать следующий фрагмент кода:

function isNumber(value: any): boolean {
  return typeof value === 'number' && isFinite(value);
}
console.log(isNumber(42));  // true
console.log(isNumber('42'));  // false

Метод 2: использование функции isNaN
Функция isNaN проверяет, не является ли значение числом. Однако у него есть некоторые особенности. Чтобы преодолеть эти особенности, мы можем использовать метод Number.isNaN, представленный в ECMAScript 2015 (ES6):

function isNumber(value: any): boolean {
  return typeof value === 'number' && !Number.isNaN(value);
}
console.log(isNumber(42));  // true
console.log(isNumber('42'));  // false

Метод 3. Использование регулярных выражений
Регулярные выражения — это мощные инструменты сопоставления с образцом. Мы можем использовать регулярные выражения для проверки того, представляет ли строка допустимое число:

function isNumber(value: any): boolean {
  return /^\d+$/.test(value);
}
console.log(isNumber('42'));  // true
console.log(isNumber('abc'));  // false

Метод 4: использование функции isFinite
Функция isFinite проверяет, является ли значение конечным числом. Он возвращает false для NaN, Infinity и -Infinity:

function isNumber(value: any): boolean {
  return isFinite(value);
}
console.log(isNumber(42));  // true
console.log(isNumber(Infinity));  // false

Метод 5: использование библиотек
Существует несколько библиотек, которые предоставляют более расширенные возможности проверки номеров. Одна популярная библиотека — validator.js. Вот пример использования validator.js для проверки числа:

import { isNumeric } from 'validator';
console.log(isNumeric('42'));  // true
console.log(isNumeric('abc'));  // false

Проверка чисел — важный аспект проверки данных в приложениях TypeScript. В этой статье мы рассмотрели несколько методов проверки чисел, в том числе использование оператора typeof, функции isNaN, регулярных выражений, встроенных функций, таких как isFinite, и внешних библиотек, таких как validator.js. В зависимости от ваших конкретных требований вы можете выбрать наиболее подходящий метод для вашего проекта. Проверяя цифры, вы можете обеспечить целостность данных и повысить общую надежность ваших приложений.