Коротко о числах
13 сентября 2025 г.
Число в программе - числовой литерал.
Виды
Целочисленные литералы
1) десятичное число - 3, 0, 1000
2) шестнадцатеричный литерал - начинается с 0x или 0X, далее строка: 0x шестнадцатеричных цифр.
3) в ES6 и выше - двоичные и восьмеричные цифры с префиксами 0b и 0o (0B и 0O)
С плавающей точкой - 2.18, .676, 8, 07e12, 1.7e-34.
Арифметические операции
- Сложение +
- Вычитание -
- Умножение *
- Деление /
- Деление по модулю ( остаток от деления) - %
- Возведение в степень (ES6) **
- Объект Math - более сложные арифметические операции. Не принимает операнд BigInt.
Переполнение / infinity или -infinity.
Переполнение - результат операции превышает наибольшее представимое число, как положительное, так и отрицательное. Обозначается как бесконечность infinity или -infinity.
Потеря значимости
Потеря значимости - результат операции находится ближе к нулю, чем наименьшее представимое число. В этом случае возвращается 0. При потере значимости с отрицательным числом возвращается отрицательный ноль. Отрицательный и обычный ноль равны даже при строгом неравенстве. Они различны только в качестве делителя.
Деление на ноль
Деление на ноль также вернет infinity или -infinity. Исключение — ноль деленный на ноль вернет NaN (not a number).
NaN (not a number)
Получаем при:
- ноль деленный на ноль,
- деление infinity на infinity,
- получении квадратного корня из отрицательного цисла,
- арифметических операций с не числовыми операндами.
NaN не равен ничему, даже самому себе.
Методы
Проверить, является ли число NaN можно через Number.isNaN() или просто isNaN().
Number.isFinite() вернет true если аргумент - число, отличное от infinity, - infinity, NaN.
isFinite() вернет true, если аргумент может быть преобразован в конечное число или является им.
BigInt
Числовой тип с целыми значениями.
Записывается как строка чисел с окончанием n. Может иметь префиксы 0o,0x,0b.
BigInt() - преобразует число в значение BigInt.
Арифметические действия работают также как и с простым числом, но нельзя проводить их между простым числом и BigInt.
Сравнения с простым числом работают корректно.
Другие посты
- Коротко о null и undefinedNull - ключевое слово языка. Обычно указывает на отсутствие значения. Typeof null вернет object. Undefined - ...
- Скопировать текст в буфер обменаЧтобы скопировать текст в буфер обмена используйте интерфейс navigator...
- Переименовать поле в запросе graphql - aliasesВ graphQl query можно переименовать поле для получаемого результата. Это может пригодиться, если вам нужно сделать...