Baseline Widely available
Der Number()
Konstruktor erstellt Number
Objekte. Bei Aufruf als Funktion gibt er primitive Werte des Typs Number zurück.
new Number(value)
Number(value)
Hinweis: Number()
kann mit oder ohne new
aufgerufen werden, aber mit unterschiedlichen Effekten. Siehe Rückgabewert.
value
Der numerische Wert des zu erstellenden Objekts.
Wenn Number()
als Funktion aufgerufen wird (ohne new
), gibt es value
in einen Zahl-Primitive umgewandelt zurück. Insbesondere werden BigInts-Werte in Zahlen umgewandelt, anstatt einen Fehler auszulösen. Wenn value
fehlt, wird es zu 0
.
Wenn Number()
als Konstruktor aufgerufen wird (mit new
), verwendet es den oben beschriebenen Umwandlungsprozess und gibt ein umhüllendes Number
Objekt zurück, das kein Primitive ist.
Warnung: Sie sollten Number
selten als Konstruktor verwenden.
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"
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 number
0 + 1n; // TypeError: Cannot mix BigInt and other types, use explicit conversions
Beachten Sie, dass dies zu einem Präzisionsverlust führen kann, wenn das BigInt zu groà ist, um sicher dargestellt zu werden.
BigInt(Number(2n ** 54n + 1n)) === 2n ** 54n + 1n; // false
Spezifikationen Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4