Number.MAX_SAFE_INTEGER
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Die statische Dateneigenschaft Number.MAX_SAFE_INTEGER
repräsentiert den maximal sicheren Integer in JavaScript (253 – 1).
Für größere Integer sollten Sie BigInt
verwenden.
Probieren Sie es aus
Wert
9007199254740991
(9.007.199.254.740.991 oder ~9 Billiarden).
Eigenschaften von Number.MAX_SAFE_INTEGER | |
---|---|
Schreibbar | nein |
Aufzählbar | nein |
Konfigurierbar | nein |
Beschreibung
Das Doppelpunktgenaue Gleitkommaformat hat nur 52 Bits zur Darstellung der Mantisse, sodass es nur Integer zwischen -(253 – 1) und 253 – 1 sicher darstellen kann. "Sicher" bedeutet in diesem Kontext, dass Integer exakt dargestellt und korrekt verglichen werden können. Zum Beispiel wird Number.MAX_SAFE_INTEGER + 1 === Number.MAX_SAFE_INTEGER + 2
als wahr ausgewertet, was mathematisch inkorrekt ist. Weitere Informationen finden Sie unter Number.isSafeInteger()
.
Da MAX_SAFE_INTEGER
eine statische Eigenschaft von Number
ist, verwenden Sie sie immer als Number.MAX_SAFE_INTEGER
und nicht als eine Eigenschaft eines Zahlenwerts.
Beispiele
Rückgabewert von MAX_SAFE_INTEGER
Number.MAX_SAFE_INTEGER; // 9007199254740991
Beziehung zwischen MAX_SAFE_INTEGER und EPSILON
Number.EPSILON
ist 2-52, während MAX_SAFE_INTEGER
253 – 1 ist — beide stammen von der Breite der Mantisse ab, die 53 Bits beträgt (wobei das höchste Bit immer 1 ist). Die Multiplikation dieser beiden Werte ergibt einen Wert, der sehr nahe, aber nicht gleich 2 ist.
Number.MAX_SAFE_INTEGER * Number.EPSILON; // 1.9999999999999998
Spezifikationen
Specification |
---|
ECMAScript Language Specification # sec-number.max_safe_integer |
Browser-Kompatibilität
BCD tables only load in the browser