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().
In this article
Описание
Чаще всего числа представляются в виде прямой записи, например255 или3.14159. В разделе «Лексический синтаксис» есть более подробное описание.
255; // двести пятьдесят пять255.0; // такое же число255 === 255.0; // true255 === 0xff; // true (шестнадцатеричная запись)255 === 0b11111111; // true (двоичная запись)255 === 0.255e3; // true (десятичная экспоненциальная запись)В JavaScript литерал числа (например,37) является значением с плавающей запятой, а не целым числом. Нет отдельного типа для представления целых значений. В JavaScript есть типBigInt, но он не предназначен для заменыNumber для постоянного использования. Поэтому37 это число, а неBigInt.
При использовании в качестве функцииNumber(value) преобразует строку или другое значение к числовому типу. Если значение не может быть преобразовано, то она вернётNaN.
Number("123"); // вернёт число 123Number("123") === 123; // trueNumber("unicorn"); // NaNNumber(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) => 9007199254740991const 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"); // 123Number("123") === 123; // trueNumber("12.3"); // 12.3Number("12.00"); // 12Number("123e-1"); // 12.3Number(""); // 0Number(null); // 0Number("0x11"); // 17Number("0b11"); // 3Number("0o11"); // 9Number("foo"); // NaNNumber("100a"); // NaNNumber("-Infinity"); // -InfinityСпецификации
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-number-objects> |