Bigint is a new primitive data type for integers. Bigint doesn’t have a fixed storage size in bits.
BigInt literals are written as a string of digits followed by a lowercase letter n. By default, they are in base 10, but you can use the 0b, 0o, and 0x prefixes for binary, octal, and hexadecimal BigInts
A bigint literal is a sequence of one or more digits, suffixed with an n.
Example
762n
Bigints are primitive values. typeof returns a new result for them
typeof 762n // Output : 'bigint'
Let's create more examples to understand Bigint
const alsoHuge = BigInt(9007149259840774)
// Output : 9007149259840774n
const hugeString = BigInt("9007199557690228")
// Output : 9007199557690228n
const hugeHex = BigInt("0x2fffffffffffff")
// Output : 13510798882111488n
const hugeOctal = BigInt("0o477777777777777777")
// Output : 11258999068426240n
BigInt values are similar to Number values in some ways, but also differ in a few key matters: A BigInt value cannot be used with methods in the built-in Math object and cannot be mixed with a Number value in operations; they must be coerced to the same type.
The following operators may be used with BigInt values or object-wrapped BigInt values:
+ * - % **
const str = 68014396409791981n - 10n
// Output : 68014396409791971n
const str = 68014396409791981n + 10n
// Output : 68014396409791991n
const str = 68014396409791981n * 10n
// Output : 680143964097919810n
const str = 2n ** 66n
// Output : 73786976294838206464n
BigInt values and Number values may be mixed in arrays and sorted
const str = [8n, 2, -9n, 11, 42, 0, 0n]
console.log(str.sort());
// Output : Array [-9n, 0, 0n, 11, 2, 42, 8n]
BigInt values behave with logical operators like this.
const mixed = 0n || 12n
// Output : 12n
const mixed = 0n && 9n
// Output : 0n
const mixed = !12n
// Output : false