Числа в JavaScript
Введение в числа JavaScript
JavaScript, будучи языком динамического программирования, поддерживает различные типы чисел. Понимание этих чисел имеет решающее значение для эффективной разработки. В этой статье мы подробно рассмотрим числа в JavaScript, приводя практические примеры и полезные сведения как для начинающих, так и для опытных программистов.
Понимание типов чисел
- Обычные числа: JavaScript использует 64-битный формат IEEE-754, широко известный как «числа с плавающей запятой двойной точности». Это стандартный тип чисел в JavaScript.
- BigInt числа: Предназначены для представления целых чисел произвольной длины. Используются в специфических сценариях, где требуется высокая точность.
Запись чисел в JavaScript
let billion = 1e9; // 1 billion
let ms = 1e-6; // One microsecondИспользование научной нотации упрощает запись больших или очень маленьких чисел.
Шестнадцатеричные, двоичные и восьмеричные числа
JavaScript поддерживает различные системы счисления:
- Шестнадцатеричная (например,
0xFF) - Двоичная (например,
0b1010) - Восьмеричная (например,
0o744)
Метод toString
Преобразование чисел в другие системы счисления:
Методы округления
JavaScript предоставляет несколько функций для округления чисел:
Math.floor(): Округляет число вниз до ближайшего целого.
Math.ceil(): Округляет число вверх до ближайшего целого.
Math.round(): Округляет число до ближайшего целого в соответствии со стандартными математическими правилами.
Math.trunc(): Удаляет все дробные цифры, по сути усекая число.
Работа с неточными вычислениями
Для разработчиков на JavaScript важно уметь работать с арифметикой с плавающей запятой и её особенностями, такими как известный случай 0.1 + 0.2 != 0.3.
Специальные числовые значения
Понимание Infinity, -Infinity и NaN в JavaScript:
- Infinity: Представляет бесконечность, значение, большее любого другого числа. Этот результат получается при делении числа на ноль или при превышении верхнего предела чисел с плавающей запятой.
- -Infinity: Представляет отрицательную бесконечность, значение, меньшее любого другого числа. Возникает при делении отрицательного числа на ноль или при превышении нижнего предела чисел с плавающей запятой.
- NaN: Аббревиатура от "Not-a-Number" (не число). Это значение возникает при выполнении неопределённой или невозможной математической операции, например, деления нуля на ноль.
Методы isNaN() и isFinite() для проверки этих специальных значений:
isNaN(): Проверяет, является ли значениеNaN. Обратите внимание, что глобальная функцияisNaN()выполняет неявное приведение типов, поэтомуisNaN('hello')возвращаетtrue. Для строгой проверки типа используйтеNumber.isNaN(), которая возвращаетtrueтолько если значение действительно являетсяNaN.isFinite(): Проверяет, является ли значение конечным числом, возвращаяfalseдляInfinity,-InfinityилиNaN.
Примеры:
isNaN('hello')возвращаетtrue, так как строка приводится кNaN.isFinite(2 / 0)возвращаетfalse, поскольку2 / 0даётInfinity, что не является конечным числом.
Числовое преобразование: parseInt и parseFloat
Эти функции парсят строку и возвращают целое или дробное число:
parseInt используется для преобразования строки в целое число. Вот как это работает:
- Чтение начинается слева и останавливается на первом символе, который не является частью числа.
- Если первый символ не может быть преобразован в число, возвращается
NaN.
parseFloat используется для преобразования строки в число с плавающей запятой. Вот пример:
В этом примере parseFloat читает строку до тех пор, пока не встретит символ, не входящий в нотацию числа с плавающей запятой, после чего возвращает собранное до этого момента число.
Заключение
Обработка чисел в JavaScript отличается гибкостью и удовлетворяет широкий спектр потребностей программирования. Освоив эти концепции, разработчики смогут писать более надёжный и эффективный код. Справочники по другим типам данных см. в статьях Строки и Булевы значения.
Практика
What is true about JavaScript numbers?