Объект Number в JavaScript представляет числовые данные. Это встроенный объект, который позволяет работать с числами, предоставляя методы и свойства для выполнения различных операций над ними. Объекты типа Number создаются с помощью конструктора Number(), однако чаще всего числа в JavaScript создаются напрямую, без использования конструктора.
Создание объектов типа Number
Числа в JavaScript обычно создаются двумя способами:
Прямо как литералы:
let num1 = 42;
let num2 = 3.14;
С использованием конструктора Number():
let num3 = new Number(42);
let num4 = new Number(3.14);
Обратите внимание, что первый способ предпочтительнее, так как второй создает объект-обертку вокруг числа, что может привести к неожиданному поведению при сравнении значений.
Свойства объекта Number
Объект Number имеет несколько свойств, представляющих важные математические константы:
Number.MAX_VALUE: Наибольшее возможное положительное число, которое может быть представлено в JavaScript. Примерно равно 1.7976931348623157e+308.
console.log(Number.MAX_VALUE); // 1.7976931348623157e+308
Number.MIN_VALUE: Наименьшее положительное число, которое может быть представлено в JavaScript. Примерно равно 5e-324.
console.log(Number.MIN_VALUE); // 5e-324
Number.NaN: Специальное значение, обозначающее «не число». Оно используется для представления неопределенности или ошибки в числовом значении.
console.log(Number.NaN); // NaN
Number.NEGATIVE_INFINITY: Представляет отрицательную бесконечность. Получается, когда операция приводит к числу меньше, чем Number.MIN_VALUE.
console.log(Number.NEGATIVE_INFINITY); // -Infinity
Number.POSITIVE_INFINITY: Представляет положительную бесконечность. Получается, когда операция приводит к числу больше, чем Number.MAX_VALUE.
console.log(Number.POSITIVE_INFINITY); // Infinity
Number.EPSILON: Малейшая разница между двумя числами, которая может быть представлена в JavaScript. Используется для сравнения чисел с плавающей запятой. Приблизительно равно 2.220446049250313e-16.
console.log(Number.EPSILON); // 2.220446049250313e-16
Методы объекта Number
Объект Number также предоставляет несколько полезных методов для работы с числами:
Number.isFinite(value): Проверяет, является ли переданное значение конечным числом.
console.log(Number.isFinite(42)); // true
console.log(Number.isFinite(Infinity)); // false
Number.isInteger(value): Проверяет, является ли переданное значение целым числом.
console.log(Number.isInteger(42)); // true
console.log(Number.isInteger(3.14)); // false
Number.isNaN(value): Проверяет, является ли переданное значение NaN.
console.log(Number.isNaN(NaN)); // true
console.log(Number.isNaN(42)); // false
Number.isSafeInteger(value): Проверяет, находится ли переданное значение в безопасном диапазоне целых чисел (от —(2^53 — 1) до 2^53 — 1).
console.log(Number.isSafeInteger(42)); // true
console.log(Number.isSafeInteger(Number.MAX_SAFE_INTEGER + 1)); // false
Number.parseFloat(string): Преобразует строку в число с плавающей запятой.
console.log(Number.parseFloat(«3.14»)); // 3.14
console.log(Number.parseFloat(«abc»)); // NaN
Number.parseInt(string, radix): Преобразует строку в целое число с учетом системы счисления (radix).
console.log(Number.parseInt(«101», 2)); // 5 (в двоичной системе)
console.log(Number.parseInt(«FF», 16)); // 255 (в шестнадцатеричной системе)
Примеры использования
// Проверка на конечное число
console.log(Number.isFinite(42)); // true
console.log(Number.isFinite(Infinity)); // false// Проверка на целое число
console.log(Number.isInteger(42)); // true
console.log(Number.isInteger(3.14)); // false// Преобразование строки в число
console.log(Number.parseFloat(«3.14»)); // 3.14
console.log(Number.parseInt(«FF», 16)); // 255
Заключение
Объект Number в JavaScript предоставляет полезные свойства и методы для работы с числовыми данными. Хотя большинство операций с числами выполняется с использованием примитивных типов данных, иногда бывает полезно воспользоваться методами объекта Number для выполнения специфичных проверок и преобразований.