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 der Number.MAX_SAFE_INTEGER-Property
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

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

js
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

Siehe auch