Объект Number: методы isFinite, isNaN, parseInt, parseFloat

🧮 Объект Number и его полезные методы

JavaScript предоставляет встроенный объект Number с набором методов для работы с числами. Сегодня разберём четыре ключевых метода, которые помогут избежать ошибок в реальных проектах:

  • isFinite() — проверяет, является ли значение конечным числом.
  • isNaN() — определяет, является ли значение NaN (Not a Number).
  • parseInt() — преобразует строку в целое число.
  • parseFloat() — преобразует строку в число с плавающей точкой.

Разберём каждый подробно с примерами!


🔍 Number.isFinite(): Проверка на конечность

Метод isFinite() возвращает true, если значение является конечным числом. В отличие от глобальной функции isFinite(), он не выполняет приведение типов.

console.log(Number.isFinite(42));      // true  
console.log(Number.isFinite(Infinity)); // false  
console.log(Number.isFinite("42"));    // false (строка — не число)  

💡 Когда использовать?
Когда нужно убедиться, что значение — именно число, а не строка или другой тип.


Number.isNaN(): Ловим "не числа"

NaN (Not a Number) — специальное значение, которое появляется при некорректных математических операциях, например:

console.log(0 / 0); // NaN  

Метод Number.isNaN() строго проверяет, является ли значение NaN.

console.log(Number.isNaN(NaN));      // true  
console.log(Number.isNaN("текст"));  // false (строка — не NaN)  
console.log(Number.isNaN(42));       // false  

⚠️ Важно!
Глобальная isNaN() сначала пытается преобразовать значение в число, что может дать неожиданные результаты:
javascript console.log(isNaN("123")); // false (строка преобразуется в число) console.log(isNaN("текст")); // true


🔢 Number.parseInt(): Преобразуем строку в целое число

Часто числа приходят в виде строк (например, из input или API). parseInt() разбирает строку и возвращает целое число.

Синтаксис:

parseInt(string, radix);  
  • string — строка для преобразования.
  • radix — система счисления (от 2 до 36).

Примеры:

console.log(Number.parseInt("42px"));    // 42 (игнорирует "px")  
console.log(Number.parseInt("101", 2));  // 5 (двоичная система)  
console.log(Number.parseInt("FF", 16));  // 255 (шестнадцатеричная)  

⚠️ Осторожно! Если строка начинается не с числа — вернёт NaN:

console.log(Number.parseInt("текст42")); // NaN  

🌊 Number.parseFloat(): Дробные числа из строки

Аналогично parseInt(), но сохраняет дробную часть:

console.log(Number.parseFloat("3.14"));      // 3.14  
console.log(Number.parseFloat("42.5px"));    // 42.5  
console.log(Number.parseFloat("0xFF"));      // 0 (не шестнадцатеричная!)  

🚀 Совет:
Используйте parseFloat для значений с плавающей точкой (цены, координаты, размеры).


🛠️ Практика: Где это применяется?

1. Валидация форм:

const inputValue = "123.45";  
if (Number.isFinite(Number.parseFloat(inputValue))) {  
     console.log("Корректное число!");  
}  

2. Обработка данных из API:

const apiData = "42%";  
const number = Number.parseInt(apiData);  
console.log(number); // 42  

3. Фильтрация NaN в массивах:

const values = [42, NaN, "текст", 10];  
const cleanNumbers = values.filter(val => !Number.isNaN(val));  
console.log(cleanNumbers); // [42, 10]  

🔥 Итог

  • Number.isFinite() — проверяет, является ли значение конечным числом.
  • Number.isNaN() — строгая проверка на NaN.
  • Number.parseInt() — преобразует строку в целое число.
  • Number.parseFloat() — преобразует строку в дробное число.

Теперь вы знаете, как безопасно работать с числами в JavaScript! 🎉

Скрыть рекламу навсегда

🌱 Индвидидулаьные занятия

Индивидуальные онлайн-занятия по программированию для детей и подростков

Личный подход, без воды, с фокусом на понимание и реальные проекты.

🚀 Записаться на занятие