Skip to content
Related Articles

Related Articles

Improve Article

BigInt in JavaScript

  • Last Updated : 25 Jun, 2020

BigInt is a built-in object in JavaScript that provides a way to represent whole numbers larger than 253-1. The largest number that JavaScript can reliably represent with the Number primitive is 253-1, which is represented by the MAX_SAFE_INTEGER constant. This has various uses where operations on large numbers are required.

Syntax:

BigInt( number ) 
or
Appending n to end of an integer literal

Parameters: It accepts a single integer literal as string that needs to represent as BigInt.

Return Type: This method returns the given value as BigInt data type.

Example: This example creating a BigInt using the BigInt() function.



javascript




// Parameter in decimal format
var bigNum = BigInt(
  "123422222222222222222222222222222222222");
console.log(bigNum);
  
// Parameter in hexadecimal format
var bigHex = BigInt("0x1ffffffeeeeeeeeef");
console.log(bigHex);
  
// Parameter in binary format
var bigBin = BigInt(
  "0b1010101001010101001111111111111111");
console.log(bigBin);

Output: 

123422222222222222222222222222222222222n
36893488074118328047n
11430854655n

Example: This example creating a BigInt by appending n at the end of the number.

javascript




// Decimal format
var bigNum = 123422222222222222222222222222222222222n
console.log(bigNum)
  
// Hexadecimal format
var bigHex = 0x1ffffffeeeeeeeeefn
console.log(bigHex)
  
// Binary format
var bigBin = 0b1010101001010101001111111111111111n
console.log(bigBin)

Output: 

123422222222222222222222222222222222222n
36893488074118328047n
11430854655n

Comparing BigInt other types: A BigInt is similar to a Number in some ways, however, it cannot be used with methods of the builtin Math object and cannot be mixed with instances of Number in operations.

Example: Comparing BigInt with a Number.

typeof 100n === 100        // Returns false
typeof 100n ==  100        // Returns true due to coercion
typeof 100n === 'bigint'   // Returns true
100n < 101                 // Returns true due to coercion

Sorting: An array can hold both primitive data types and BigInts. This allows the sort() method to work when both normal Number and BigInt values are present in the array.

Example:

javascript




// Array consisting of both
// Number and BigInt
var arr = [4, 2, 5n, 2n]
  
// Sorting the array
arr.sort()
  
console.log(arr)  // [2, 2n, 4, 5n]

Output:

[2, 2n, 4, 5n]

Usage Recommendation: The following applications are not recommended to be used with BigInt due to its implementation:

  1. Coercion: Coercing between Number and BigInt can lead to loss of precision, it is recommended to only use BigInt when values greater than 253 are reasonably expected and not to coerce between the two types.
  2. Cryptography: The operations supported on BigInt are not constant time. BigInt is therefore unsuitable for use in cryptography.

Supported Browsers: The browsers supporting BigInt method are listed below:

  • Chrome
  • Edge
  • Firefox
  • Opera



My Personal Notes arrow_drop_up
Recommended Articles
Page :