Movatterモバイル変換


[0]ホーム

URL:


  1. Веб-технологии для разработчиков
  2. JavaScript
  3. Справочник по JavaScript
  4. Стандартные встроенные объекты
  5. Number

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

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. В разделе «Лексический синтаксис» есть более подробное описание.

js
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.

js
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 используются для присваивания значений числовым переменным:

js
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.

js
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 в качестве функции:

js
const d = new Date("1995-12-17T03:24:00");console.log(Number(d));

Это выведет819199440000.

Преобразование строк и null в числа

js
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

Совместимость с браузерами

Смотрите также

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp