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 die maximale sichere Ganzzahl in JavaScript (253 – 1).
Bei größeren 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 Double-Precision-Floating-Point-Format hat nur 52 Bits zur Darstellung der Mantisse, sodass es nur sicher Ganzzahlen zwischen -(253 – 1) und 253 – 1 darstellen kann. "Sicher" bedeutet hier die Fähigkeit, Ganzzahlen genau darzustellen und sie korrekt zu vergleichen. Zum Beispiel wird Number.MAX_SAFE_INTEGER + 1 === Number.MAX_SAFE_INTEGER + 2
als wahr ausgewertet, was mathematisch inkorrekt ist. Siehe Number.isSafeInteger()
für weitere Informationen.
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 Zahlenwertes.
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 leiten sich von der Breite der Mantisse ab, die 53 Bits beträgt (mit dem höchsten Bit, das immer 1 ist). Ihre Multiplikation ergibt einen Wert, der sehr nahe — aber nicht gleich — 2 ist.
Number.MAX_SAFE_INTEGER * Number.EPSILON; // 1.9999999999999998
Spezifikationen
Specification |
---|
ECMAScript® 2025 Language Specification # sec-number.max_safe_integer |
Browser-Kompatibilität
BCD tables only load in the browser