BigInt

Le primitive BigInt sono un'aggiunta relativamente nuova a JavaScript, consentendo operazioni matematiche su numeri al di fuori dell'intervallo consentito da Number. Per creare un valore BigInt, aggiungi n alla fine di un numero letterale oppure trasmetti un valore stringa numero 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 può essere rappresentato in modo sicuro da Number, causando un errore di arrotondamento.

I valori BigInt non ereditano i metodi e le proprietà forniti dall'oggetto Number e non possono essere utilizzati con i metodi forniti dall'oggetto Math integrato di JavaScript. Inoltre, non puoi combinare le primitive BigInt e Number nelle operazioni aritmetiche standard:

9999999999999999n + 5
> Uncaught TypeError: can't convert BigInt to number

Per eseguire aritmetici con BigInt, devi definire entrambi gli operandi come valori BigInt:

console.log( 9999999999999999 + 10 );  // Off by one
> 10000000000000010

console.log( 9999999999999999n + 10n );
> 10000000000000009n