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 September 2015.
Die statische Dateneigenschaft Number.MAX_SAFE_INTEGER
repräsentiert die maximale sichere Ganzzahl in JavaScript (253 – 1).
Für größere Ganzzahlen sollten Sie BigInt
in Betracht ziehen.
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 ~9 Billiarden).
Eigenschaften von Number.MAX_SAFE_INTEGER | |
---|---|
Schreibbar | nein |
Aufzählbar | nein |
Konfigurierbar | nein |
Beschreibung
Das Doppelpräzisions-Gleitkomma-Format hat nur 52 Bits, um die Mantisse darzustellen, daher können nur Ganzzahlen zwischen -(253 – 1) und 253 – 1 sicher dargestellt werden. "Sicher" bedeutet in diesem Kontext die Fähigkeit, Ganzzahlen genau darzustellen und korrekt zu vergleichen. Zum Beispiel wird Number.MAX_SAFE_INTEGER + 1 === Number.MAX_SAFE_INTEGER + 2
zu true ausgewertet, was mathematisch nicht korrekt 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 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 werden aus der Breite der Mantisse abgeleitet, die 53 Bits beträgt (wobei das höchste Bit immer 1 ist). Wenn man sie multipliziert, ergibt sich ein Wert, der sehr nahe — aber nicht gleich — bei 2 liegt.
Number.MAX_SAFE_INTEGER * Number.EPSILON; // 1.9999999999999998
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-number.max_safe_integer |