Le primitive BigInt sono un'aggiunta relativamente nuova alla
JavaScript, che consente operazioni matematiche su numeri al di fuori dell'intervallo
consentito da Number
. Per creare un oggetto BigInt, aggiungi n
alla fine di un numero
o passare un valore di stringa intero o numerico alla funzione BigInt()
.
const myNumber = 9999999999999999;
const myBigInt = 9999999999999999n;
typeof myNumber;
> "number"
typeof myBigInt;
> "bigint"
myNumber;
> 10000000000000000
myBigInt;
> 9999999999999999n
In questo esempio, 9999999999999999
non rientra nell'intervallo di cifre che è possibile
rappresentato in modo sicuro da Number
, causando un errore di arrotondamento.
I valori BigInt non ereditano i metodi e le proprietà dall'oggetto Number
e non possono essere utilizzati con i metodi Math
integrati di JavaScript
fornito dall'oggetto. Ma soprattutto, non puoi combinare le primitive BigInt e Number in
operazioni aritmetiche standard:
9999999999999999n + 5
> Uncaught TypeError: can't convert BigInt to number
Per eseguire operazioni aritmetiche con BigInts, devi definire entrambi gli operandi come valori BigInt:
console.log( 9999999999999999 + 10 ); // Off by one
> 10000000000000010
console.log( 9999999999999999n + 10n );
> 10000000000000009n