Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
Number() Konstruktor
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
DerNumber() Konstruktor erstelltNumber Objekte. Bei Aufruf als Funktion gibt er primitive Werte des Typs Number zurück.
In diesem Artikel
Syntax
new Number(value)Number(value)Hinweis:Number() kann mit oder ohnenew aufgerufen werden, aber mit unterschiedlichen Effekten. SieheRückgabewert.
Parameter
valueDer numerische Wert des zu erstellenden Objekts.
Rückgabewert
WennNumber() als Funktion aufgerufen wird (ohnenew), gibt esvaluein einen Zahl-Primitive umgewandelt zurück. Insbesondere werdenBigInts-Werte in Zahlen umgewandelt, anstatt einen Fehler auszulösen. Wennvalue fehlt, wird es zu0.
WennNumber() als Konstruktor aufgerufen wird (mitnew), verwendet es den oben beschriebenen Umwandlungsprozess und gibt ein umhüllendesNumber Objekt zurück, daskein Primitive ist.
Warnung:Sie solltenNumber selten als Konstruktor verwenden.
Beispiele
>Number-Objekte erstellen
const a = new Number("123"); // a === 123 is falseconst b = Number("123"); // b === 123 is truea instanceof Number; // is trueb instanceof Number; // is falsetypeof a; // "object"typeof b; // "number"Verwendung von Number(), um ein BigInt in eine Zahl zu konvertieren
Number() ist der einzige Fall, bei dem ein BigInt ohne Fehler in eine Zahl konvertiert werden kann, da es sehr explizit ist.
+1n; // TypeError: Cannot convert a BigInt value to a number0 + 1n; // TypeError: Cannot mix BigInt and other types, use explicit conversionsNumber(1n); // 1Beachten Sie, dass dies zu einem Präzisionsverlust führen kann, wenn das BigInt zu groß ist, umsicher dargestellt zu werden.
BigInt(Number(2n ** 54n + 1n)) === 2n ** 54n + 1n; // falseSpezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-number-constructor> |