Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Number.MAX_SAFE_INTEGER

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2015 browserübergreifend verfügbar.

Die statische Dateneigenschaft Number.MAX_SAFE_INTEGER gibt die größte sichere Ganzzahl in JavaScript an (253 – 1).

Für größere Ganzzahlen sollten Sie BigInt verwenden.

Probieren Sie es aus

const x = Number.MAX_SAFE_INTEGER + 1;
const y = Number.MAX_SAFE_INTEGER + 2;

console.log(Number.MAX_SAFE_INTEGER);
// Expected output: 9007199254740991

console.log(x);
// Expected output: 9007199254740992

console.log(x === y);
// Expected output: true

Wert

9007199254740991 (9.007.199.254.740.991 oder ungefähr 9 Billiarden).

Eigenschaften von Number.MAX_SAFE_INTEGER
Schreibbarnein
Aufzählbarnein
Konfigurierbarnein

Beschreibung

Das Gleitkommaformat mit doppelter Genauigkeit verfügt nur über 52 Bits zur Darstellung der Mantisse. Daher kann es Ganzzahlen nur im Bereich von -(253 – 1) bis 253 – 1 sicher darstellen. „Sicher“ bedeutet in diesem Zusammenhang, dass Ganzzahlen exakt dargestellt und korrekt verglichen werden können. Beispielsweise ergibt Number.MAX_SAFE_INTEGER + 1 === Number.MAX_SAFE_INTEGER + 2 den Wert true, obwohl dies mathematisch falsch ist. Weitere Informationen finden Sie unter Number.isSafeInteger().

Wie unter Number.EPSILON beschrieben, hängt die Genauigkeit von Zahlen von ihrer Größenordnung ab. Number.MAX_SAFE_INTEGER ist der größte Wert, bei dem Operationen mit Ganzzahlen präzise ausgeführt werden können. Auch mit größeren Zahlen können Sie noch sinnvolle Berechnungen durchführen, allerdings nicht mehr mit Ganzzahlgenauigkeit. Die größte in JavaScript darstellbare Zahl ist Number.MAX_VALUE mit ungefähr 1,7976931348623157 × 10308.

Da MAX_SAFE_INTEGER eine statische Eigenschaft von Number ist, verwenden Sie sie immer als Number.MAX_SAFE_INTEGER und nicht als Eigenschaft eines Zahlenwerts.

Beispiele

Rückgabewert von MAX_SAFE_INTEGER

js
Number.MAX_SAFE_INTEGER; // 9007199254740991

Zusammenhang zwischen MAX_SAFE_INTEGER und EPSILON

Number.EPSILON ist 2-52, während MAX_SAFE_INTEGER 253 – 1 ist. Beide Werte ergeben sich aus der Breite der Mantisse von 53 Bits (wobei das höchstwertige Bit immer 1 ist). Ihr Produkt liegt sehr nahe bei 2, ist aber nicht gleich 2.

js
Number.MAX_SAFE_INTEGER * Number.EPSILON; // 1.9999999999999998

Spezifikationen

Spezifikation
ECMAScript® 2027 Language Specification
# sec-number.max_safe_integer

Browser-Kompatibilität

Siehe auch