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