3.1 Тип Number
Числа в JavaScript играют важную роль при работе с данными и при выполнении вычислений. Язык предоставляет множество возможностей для работы с числами, включая различные типы операций и встроенные методы.
В JavaScript существует один тип данных для чисел — Number. Этот тип данных представляет как целые числа, так и числа с плавающей запятой. Дополнительно, начиная с 2020, был введен тип BigInt для работы с очень большими целыми числами.
Примеры:
let integer = 42; // Целое число
let float = 3.14; // Число с плавающей запятой
let bigInt = 12345678901234567890n; // Большое целое число
Операции с числами
Арифметические операции:
| Операция | Синтаксис | Описание | Пример | Результат |
|---|---|---|---|---|
| Сложение | a + b | Складывает два числа | 5 + 3 | 8 |
| Вычитание | a - b | Вычитает одно число из другого | 10 - 4 | 6 |
| Умножение | a * b | Умножает два числа | 7 * 3 | 21 |
| Деление | a / b | Делит одно число на другое | 20 / 5 | 4 |
| Остаток от деления | a % b | Возвращает остаток от деления | 10 % 3 | 1 |
| Возведение в степень | a ** b | Возводит число в степень | 2 ** 3 | 8 |
Инкремент и декремент
| Операция | Синтаксис | Описание | Пример | Результат |
|---|---|---|---|---|
| Инкремент | ++a | Увеличивает значение на единицу (префиксный) | let a = 5; ++a; |
6 |
| Инкремент | a++ | Увеличивает значение на единицу (постфиксный) | let a = 5; a++; |
5 (и затем 6) |
| Декремент | --b | Уменьшает значение на единицу (префиксный) | let b = 5; --b; |
4 |
| Декремент | b-- | Уменьшает значение на единицу (постфиксный) | let b = 5; b--; |
5 (и затем 4) |
Комбинированные операции
| Операция | Синтаксис | Описание | Пример | Результат |
|---|---|---|---|---|
| Сложение с присваиванием | a += b | Складывает и присваивает результат | let x = 10; x += 5; |
15 |
| Вычитание с присваиванием | a -= b | Вычитает и присваивает результат | let x = 10; x -= 3; |
7 |
| Умножение с присваиванием | a *= b | Умножает и присваивает результат | let x = 10; x *= 2; |
20 |
| Деление с присваиванием | a /= b | Делит и присваивает результат | let x = 10; x /= 2; |
5 |
| Остаток с присваиванием | a %= b | Находит остаток и присваивает результат | let x = 10; x %= 3; |
1 |
3.2 Встроенные методы
В JavaScript есть встроенный объект Math для выполнения различных математических операций.
1. Math.round():
Округляет число до ближайшего целого.
let rounded = Math.round(4.6); // 5
2. Math.ceil():
Округляет число вверх до ближайшего целого.
let ceil = Math.ceil(4.2); // 5
3. Math.floor():
Округляет число вниз до ближайшего целого.
let floor = Math.floor(4.8); // 4
4. Math.random():
Возвращает случайное число в диапазоне от 0 до 1.
let random = Math.random();
5. Math.max() и Math.min():
Возвращают максимальное и минимальное значение из набора чисел.
let max = Math.max(1, 2, 3, 4); // 4
let min = Math.min(1, 2, 3, 4); // 1
6. Math.sqrt():
Возвращает квадратный корень числа.
let sqrt = Math.sqrt(16); // 4
7. Math.pow():
Возвращает число, возведенное в указанную степень.
let pow = Math.pow(2, 3); // 8
3.3 Парсинг строк в числа
Функция parseInt():
Преобразует строку в целое число.
let int = parseInt('123'); // 123
Фукнция parseFloat():
Преобразует строку в число с плавающей запятой.
let float = parseFloat('3.14'); // 3.14
Фукнция Number():
Преобразует значение в число.
let num = Number('42'); // 42
Проверка значений
Функция isNaN():
Проверяет, является ли значение NaN (Not-a-Number).
let isNotNumber = isNaN('hello'); // true
Функция isFinite():
Проверяет, является ли значение конечным числом (бесконечность это или нет).
let finite = isFinite(10); // true
let notFinite = isFinite(Infinity); // false
3.4 Особенности чисел в JavaScript
1. Числовые пределы
В JavaScript числа представляются в формате с плавающей точкой двойной точности, что имеет определенные ограничения:
- Максимальное значение:
Number.MAX_VALUE - Минимальное значение:
Number.MIN_VALUE - Положительная бесконечность:
Infinity - Отрицательная бесконечность:
-Infinity - Не число (
NaN): значение, которое не является числом
2. Точность чисел
Работа с числами с плавающей запятой может привести к проблемам с точностью:
let sum = 0.1 + 0.2;
console.log(sum); // 0.30000000000000004
Такое есть во всех языках программирования – JavaScript в этом не исключение.
3. Безопасные целые числа
В JavaScript есть понятие "безопасных" целых чисел, которые могут быть точно представлены в виде чисел с плавающей запятой:
- Максимальное безопасное целое:
Number.MAX_SAFE_INTEGER (253 - 1) - Минимальное безопасное целое:
Number.MIN_SAFE_INTEGER (-(253 - 1))
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ