Number
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since июль 2015 г..
Значения Number представляют числа с плавающей запятой, такие как 37 или -9,25.
Конструктор Number содержит константы и методы для работы с числами. Значения других типов могут быть преобразованы в числа с помощью функции Number().
Описание
Чаще всего числа представляются в виде прямой записи, например 255 или 3.14159. В разделе «Лексический синтаксис» есть более подробное описание.
255; // двести пятьдесят пять
255.0; // такое же число
255 === 255.0; // true
255 === 0xff; // true (шестнадцатеричная запись)
255 === 0b11111111; // true (двоичная запись)
255 === 0.255e3; // true (десятичная экспоненциальная запись)
В JavaScript литерал числа (например, 37) является значением с плавающей запятой, а не целым числом. Нет отдельного типа для представления целых значений. В JavaScript есть тип BigInt, но он не предназначен для замены Number для постоянного использования. Поэтому 37 это число, а не BigInt.
При использовании в качестве функции Number(value) преобразует строку или другое значение к числовому типу. Если значение не может быть преобразовано, то она вернёт NaN.
Number("123"); // вернёт число 123
Number("123") === 123; // true
Number("unicorn"); // NaN
Number(undefined); // NaN
Конструктор
Number()-
Создаёт новое значение
Number.
Когда Number вызывается в качестве конструктора (с ключевым словом new), он создаёт объект Number, который не является примитивом. Например, typeof new Number(42) === "object" и new Number(42) !== 42 (при этом new Number(42) == 42).
Предупреждение:
Как правило вам не нужно использовать Number в качестве конструктора.
Статические свойства
Number.EPSILON-
Наименьший интервал между двумя представимыми числами.
Number.MAX_SAFE_INTEGER-
Максимальное целое число, которое можно безопасно использовать в JavaScript (253 - 1).
Number.MAX_VALUE-
Наибольшее представимое положительное число.
Number.MIN_SAFE_INTEGER-
Минимальное целое число, которое можно безопасно использовать в JavaScript (-(253 - 1)).
Number.MIN_VALUE-
Наименьшее представимое положительное число, то есть самое близкое к нулю положительное число (которое ещё не является нулём).
Number.NaN-
Специальное значение для представления значений, не являющихся числом.
Number.NEGATIVE_INFINITY-
Специальное значение для представления отрицательной бесконечности. Возвращается при переполнении.
Number.POSITIVE_INFINITY-
Специальное значение для представления бесконечности. Возвращается при переполнении.
Статические методы
Number.isFinite()-
Определяет, является ли переданное значение конечным числом.
Number.isInteger()-
Определяет, является ли переданное значение целым числом.
Number.isNaN()-
Определяет, является ли переданное значение значением
NaN. Number.isSafeInteger()-
Определяет, является ли переданное значение безопасным целым числом (в диапазоне от -(253 - 1) до 253 - 1).
Number.parseFloat()-
То же самое, что и глобальная функция
parseFloat(). Number.parseInt()-
То же самое, что и глобальная функция
parseInt().
Свойства экземпляра
Эти свойства определены в Number.prototype и есть у всех экземпляров Number.
Number.prototype.constructor-
Функция-конструктор, создающая экземпляр объекта. Для экземпляров
Numberначальным значением является конструкторNumber.
Методы экземпляра
Number.prototype.toExponential()-
Возвращает строку, представляющую число в экспоненциальной записи.
Number.prototype.toFixed()-
Возвращает строку, представляющую число в записи с фиксированной точкой.
Number.prototype.toLocaleString()-
Возвращает строку с зависимым от языка представлением этого числа. Переопределяет метод
Object.prototype.toLocaleString(). Number.prototype.toPrecision()-
Возвращает строку, представляющую число с заданной точностью в формате с фиксированной точкой или экспоненциальной записи.
Number.prototype.toString()-
Возвращает строку, представляющую указанный объект с указанным основании. Переопределяет метод
Object.prototype.toString(). Number.prototype.valueOf()-
Возвращает примитивное значение указанного объекта. Переопределяет метод
Object.prototype.valueOf().
Примеры
>Использование объекта Number для присваивания значений числовым переменным
В следующем примере свойства объекта Number используются для присваивания значений числовым переменным:
const biggestNum = Number.MAX_VALUE;
const smallestNum = Number.MIN_VALUE;
const infiniteNum = Number.POSITIVE_INFINITY;
const negInfiniteNum = Number.NEGATIVE_INFINITY;
const notANum = Number.NaN;
Целочисленный диапазон для объекта Number
Следующий пример показывает, какие минимальное и максимальное целочисленные значения может представить объект Number.
const biggestInt = Number.MAX_SAFE_INTEGER; // (2**53 - 1) => 9007199254740991
const smallestInt = Number.MIN_SAFE_INTEGER; // -(2**53 - 1) => -9007199254740991
При разборе сериализованных в JSON данных можно ожидать, что целочисленные значения, выходящие за пределы этого диапазона, будут повреждены, если анализатор JSON приведет их к типу Number.
Возможный обходной путь — использовать вместо этого String.
Большие числа могут быть представлены с использованием типа BigInt.
Использование Number() для преобразования объекта Date
В следующем примере объект Date преобразуется в числовое значение с использованием объекта Number в качестве функции:
const d = new Date("1995-12-17T03:24:00");
console.log(Number(d));
Это выведет 819199440000.
Преобразование строк и null в числа
Number("123"); // 123
Number("123") === 123; // true
Number("12.3"); // 12.3
Number("12.00"); // 12
Number("123e-1"); // 12.3
Number(""); // 0
Number(null); // 0
Number("0x11"); // 17
Number("0b11"); // 3
Number("0o11"); // 9
Number("foo"); // NaN
Number("100a"); // NaN
Number("-Infinity"); // -Infinity
Спецификации
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-number-objects> |
Совместимость с браузерами
Loading…