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 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 größte sichere Ganzzahl in JavaScript (253 – 1).

Für größere Ganzzahlen sollten Sie erwägen, BigInt zu 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 ~9 Billiarden).

Eigenschaften von Number.MAX_SAFE_INTEGER
Schreibbarnein
Aufzählbarnein
Konfigurierbarnein

Beschreibung

Das Double-Precision-Gleitkommaformat hat nur 52 Bits zur Darstellung der Mantisse, daher kann es nur sicher Ganzzahlen zwischen -(253 – 1) und 253 – 1 darstellen. "Sicher" bedeutet in diesem Zusammenhang die Fähigkeit, Ganzzahlen exakt darzustellen und korrekt zu vergleichen. Zum Beispiel wird Number.MAX_SAFE_INTEGER + 1 === Number.MAX_SAFE_INTEGER + 2 als wahr bewertet, was mathematisch inkorrekt ist. Weitere Informationen finden Sie unter Number.isSafeInteger().

Wie in Number.EPSILON erwähnt, hängt die Genauigkeit von Zahlen von ihrer Größe ab. Number.MAX_SAFE_INTEGER stellt den größten Wert dar, bei dem Ganzzahlen genau verarbeitet werden können, aber Sie können immer noch sinnvolle arithmetische Operationen an größeren Zahlen durchführen, allerdings ohne die Präzision auf Ganzzahlebene. Die größte darstellbare Zahl in JavaScript ist tatsächlich Number.MAX_VALUE, die etwa 1,7976931348623157 × 10308 beträgt.

Da MAX_SAFE_INTEGER eine statische Eigenschaft von Number ist, verwenden Sie es 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

Beziehung zwischen MAX_SAFE_INTEGER und EPSILON

Number.EPSILON beträgt 2-52, während MAX_SAFE_INTEGER 253 – 1 ist — beide leiten sich aus der Breite der Mantisse ab, die 53 Bits beträgt (wobei das höchste Bit immer 1 ist). Das Multiplizieren ergibt einen Wert, der sehr nahe — aber nicht gleich — 2 ist.

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

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-number.max_safe_integer

Browser-Kompatibilität

Siehe auch