In JavaScript werden Zahlen traditionell mit dem Zahlentyp dargestellt, der dem IEEE 754-Standard für Gleitkommaarithmetik mit doppelter Genauigkeit entspricht. Diese Darstellung ist zwar vielseitig, hat aber eine Einschränkung: Sie kann ganze Zahlen nur bis zu (2^{53} - 1) (oder (9.007.199.254.740.991)) sicher darstellen. Für Anwendungen, die größere Ganzzahlen erfordern, bietet JavaScript eine Lösung durch den BigInt-Typ.
BigInt ist ein in JavaScript integriertes Objekt, das eine Möglichkeit bietet, ganze Zahlen darzustellen, die größer sind als diejenigen, die vom Typ „Number“ verarbeitet werden können. Im Gegensatz zu Number, das für Gleitkomma-Arithmetik geeignet ist und Werte zwischen ungefähr (-1,8 mal 10^{308}) und (1,8 mal 10^{308}) verarbeiten kann, ist BigInt speziell für Ganzzahlarithmetik mit beliebiger Genauigkeit konzipiert.
Es gibt mehrere Möglichkeiten, BigInt-Werte zu erstellen:
const bigIntValue = BigInt(123456789012345678901234567890);
Beachten Sie, dass BigInt Zeichenfolgen und Zahlen akzeptiert, aber wenn Zahlen verwendet werden, sollten diese im Bereich eines Zahlentyps liegen.
const bigIntLiteral = 123456789012345678901234567890n;
Dies ist eine präzisere Möglichkeit, BigInt-Werte direkt zu definieren.
BigInt unterstützt die meisten standardmäßigen arithmetischen Operatoren. Hier ein kurzer Überblick:
const a = 10n; const b = 20n; const sum = a + b; // 30n
const difference = b - a; // 10n
const product = a * b; // 200n
const quotient = b / 3n; // 6n (Note: Division results in a `BigInt` which is truncated towards zero)
const remainder = b % 3n; // 2n
const power = a ** 3n; // 1000n
BigInt kann mit den Standardvergleichsoperatoren verglichen werden. Beachten Sie, dass BigInt-Werte und Number-Werte nicht direkt vergleichbar sind:
const a = 10n; const b = 10; console.log(a == b); // false console.log(a === BigInt(b)); // true
Die Konvertierung zwischen BigInt und Number kann mithilfe expliziter Konvertierungsmethoden erfolgen:
const bigIntValue = 123n; const numberValue = Number(bigIntValue);
Hinweis: Dies kann an Präzision verlieren, wenn der BigInt-Wert zu groß ist.
const numberValue = 123; const bigIntValue = BigInt(numberValue);
const a = 10n; const b = 5; // The following line will throw a TypeError const result = a + b;
const bigIntValue = 123n; JSON.stringify(bigIntValue); // Throws TypeError
Um BigInt in JSON zu verarbeiten, müssen Sie es möglicherweise zuerst in einen String konvertieren:
const bigIntValue = 123n; const jsonString = JSON.stringify({ value: bigIntValue.toString() });
BigInt ist besonders nützlich in Szenarien, in denen die Präzision bei großen Ganzzahlen entscheidend ist, wie zum Beispiel:
BigInt ist eine leistungsstarke Ergänzung zu JavaScript und erweitert seine Möglichkeiten zur Verarbeitung von Ganzzahlen über die Grenzen des Zahlentyps hinaus. Das Verständnis seiner Abläufe, Einschränkungen und geeigneten Anwendungsfälle kann dabei helfen, seine Vorteile für Anwendungen zu nutzen, die große Ganzzahlberechnungen erfordern.
Das obige ist der detaillierte Inhalt vonBigInt in JavaScript verstehen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!