This page was translated from English by the community. Learn more and join the MDN Web Docs community.
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> |
Совместимость с браузерами
Enable JavaScript to view this browser compatibility table.