Ist dies in der Sprache festgelegt? Gibt es ein bestimmtes Maximum? Ist es in verschiedenen Browsern unterschiedlich?
Antworten
Zu viele Anzeigen?JavaScript hat in ECMAScript 2020 einen neuen Datentyp erhalten: BigInt
. Es führte numerische Literale mit dem Suffix "n" ein und erlaubt eine beliebige Genauigkeit:
var a = 123456789012345678901012345678901n;
Die Genauigkeit geht natürlich trotzdem verloren, wenn eine solche große ganze Zahl (vielleicht unbeabsichtigt) in einen Zahlendatentyp umgewandelt wird.
Und natürlich wird es aufgrund des begrenzten Speichers immer Einschränkungen bei der Genauigkeit geben, und die Zuweisung des erforderlichen Speichers und die Durchführung von Berechnungen mit so großen Zahlen kostet Zeit.
So dauert beispielsweise die Generierung einer Zahl mit hunderttausend Dezimalstellen bis zur Fertigstellung deutlich länger:
console.log(BigInt("1".padEnd(100000,"0")) + 1n)
...aber es funktioniert.