BigInt

BigInt temel öğeleri, JavaScript'e nispeten yeni bir katkıdır ve Number tarafından izin verilen aralığın dışındaki sayılarda matematik işlemlerine olanak tanır. BigInt oluşturmak için sabit sayının sonuna n ekleyin veya BigInt() işlevine tam sayı ya da sayısal dize değeri iletin.

const myNumber = 9999999999999999;
const myBigInt = 9999999999999999n;

typeof myNumber;
> "number"

typeof myBigInt;
> "bigint"

myNumber;
> 10000000000000000

myBigInt;
> 9999999999999999n

Bu örnekte 9999999999999999, Number ile güvenli bir şekilde temsil edilebilecek basamak aralığının dışındadır ve yuvarlama hatasına neden olur.

BigInt değerleri, Number nesnesinin sağladığı yöntem ve özellikleri devralmaz ve JavaScript'in yerleşik Math nesnesinin sağladığı yöntemlerle kullanılamaz. En önemlisi, standart aritmetik işlemlerde BigInt ve Number temel öğelerini karıştıramazsınız:

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

BigInts ile aritmetik yapmak için her iki işleneni BigInt değeri olarak tanımlamanız gerekir:

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

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