JavaScript · Senior · Frage 31 von 75

Warum liefert 9007199254740993 === 9007199254740992 true?

Antwort zeigen

Richtige Antwort: Zahlen über MAX_SAFE_INTEGER lassen sich nicht exakt darstellen

Erklärung

Ein Double hat eine 53-Bit-Mantisse, also sind nicht alle ganzen Zahlen jenseits von 2^53 darstellbar. Große IDs aus APIs (z. B. 64-Bit) kommen in JSON als Strings oder werden über BigInt verarbeitet, sonst werden sie still verfälscht. Prüfen kann man mit Number.isSafeInteger.

Zum Weiterlesen

Fehler in der Frage

JavaScript · Senior · Frage 31

Teste dich selbst

Mach den Test JavaScript · Senior: Fragen und Antworten werden gemischt, und am Ende wartet eine Übersicht der Fehler.

Diesen Test machen