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
stellt die maximale sichere Ganzzahl in JavaScript dar (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-Gleitkommaformat hat nur 52 Bits zur Darstellung der Mantisse, sodass es Ganzzahlen nur sicher zwischen -(253 – 1) und 253 – 1 darstellen kann. „Sicher“ bedeutet in diesem Kontext, dass Ganzzahlen genau 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 falsch 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
, anstatt sie als Eigenschaft eines Zahlenwertes zu verwenden.
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 Werte leiten sich von der Breite der Mantisse ab, die 53 Bits beträgt (mit dem höchsten Bit, das immer 1 ist). Multipliziert man diese beiden Werte, erhält man 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
Report problems with this compatibility data on GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MAX_SAFE_INTEGER |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support