Spec-Zone.ru › JavaScript

Конструктор Number()

Базовая поддержка Широко доступно

Эта возможность хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.

Конструктор Number() создаёт объекты Number. При вызове в качестве функции он возвращает примитивные значения типа Number.

Синтаксис

new Number(value)
Number(value)

Примечание: Number() может вызываться как с new, так и без него, но с разными эффектами. См. Возвращаемое значение.

Параметры

value
Числовое значение создаваемого объекта.

Возвращаемое значение

Когда Number() вызывается как функция (без new), он возвращает value, приведённое к числовому примитиву. В частности, значения BigInt конвертируются в числа вместо того, чтобы вызывать исключение. Если value отсутствует, оно становится 0.

Когда Number() вызывается как конструктор (с new), он использует описанный выше процесс приведения и возвращает обёрнутый объект Number, который не является примитивом.

Предупреждение: Вы редко должны использовать Number как конструктор.

Примеры

Создание объектов Number

const a = new Number("123"); // a === 123 is false
const b = Number("123"); // b === 123 is true
a instanceof Number; // is true
b instanceof Number; // is false
typeof a; // "object"
typeof b; // "number"

Использование Number() для преобразования BigInt в число

Number() — это единственный случай, когда BigInt может быть преобразован в число без вызова исключения, поскольку это очень явно задано.

+1n; // TypeError: Cannot convert a BigInt value to a number
0 + 1n; // TypeError: Cannot mix BigInt and other types, use explicit conversions
Number(1n); // 1

Обратите внимание, что это может привести к потере точности, если BigInt слишком велико, чтобы быть безопасно представленным.

BigInt(Number(2n ** 54n + 1n)) === 2n ** 54n + 1n; // false

Спецификации

Спецификация
ECMAScript® 2027 Language Specification
# sec-number-constructor

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

Десктопные Мобильные Серверные
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
Number
1
12
1
3
1
18
4
10.1
1
1.0
4.4
1
1.0.0
1.0
0.10.0

См. также

  • Полифилл современного поведения Number (с поддержкой двоичных и восьмеричных литералов) в core-js
  • NaN
  • Math
  • BigInt

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/Number

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API