BigInt

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 Mathintegrati 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