BigInt() constructor
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2020.
The BigInt()
function returns primitive values of type BigInt.
Syntax
Parameters
value
-
The value to be converted to a BigInt value. It may be a string, an integer, a boolean, or another
BigInt
.
Return value
A BigInt
value. Number values must be integers and are converted to BigInts. The boolean value true
becomes 1n
, and false
becomes 0n
. Strings are parsed as if they are source text for integer literals, which means they can have leading and trailing whitespaces and can be prefixed with 0b
, 0o
, or 0x
.
Exceptions
RangeError
-
Thrown if the parameter is a non-integral number.
TypeError
-
Thrown in one of the following cases:
SyntaxError
-
Thrown if the parameter is a string that cannot be parsed as a
BigInt
.
Examples
Using BigInt() to convert a number to a BigInt
BigInt()
is the only case where a number can be converted to a BigInt without throwing, because it's very explicit. However, only integers are allowed.
BigInt(123); // 123n
BigInt(123.3); // RangeError: The number 123.3 cannot be converted to a BigInt because it is not an integer
Using string values
BigInt("123"); // 123n
BigInt("0b10101"); // 21n, which is 10101 in binary
BigInt("0o123"); // 83n, which is 123 in octal
BigInt("0x123"); // 291n, which is 123 in hexadecimal
BigInt(" 123 "); // 123n, leading and trailing whitespaces are allowed
Specifications
Specification |
---|
ECMAScript Language Specification # sec-bigint-constructor |
Browser compatibility
BCD tables only load in the browser