BigInt.prototype.toString()
The toString()
method returns a string representing the specified BigInt
value. The trailing "n" is not part of the string.
Syntax
toString()
toString(radix)
Parameters
radix
optional- : An integer in the range 2 through 36 specifying the base to use for representing the BigInt value. Defaults to 10.
Return value
A string representing the specified BigInt
value.
Exceptions
RangeError
- : Thrown if
radix
is less than 2 or greater than 36.
- : Thrown if
Description
The BigInt
object overrides the toString
method of Object
; it does not inherit
Object.prototype.toString()
. For BigInt
values, the toString()
method returns a string representation of the value in the specified radix.
For radixes above 10, the letters of the alphabet indicate digits greater than 9. For example, for hexadecimal numbers (base 16) a
through f
are used.
If the specified BigInt value is negative, the sign is preserved. This is the case even if the radix is 2; the string returned is the positive binary representation of the BigInt value preceded by a -
sign, not the two's complement of the BigInt value.
The toString()
method requires its this
value to be a BigInt
primitive or wrapper object. It throws a TypeError
for other this
values without attempting to coerce them to BigInt values.
Because BigInt
doesn't have a [Symbol.toPrimitive]()
method, JavaScript calls the toString()
method automatically when a BigInt
object is used in a context expecting a string, such as in a template literal. However, BigInt primitive values do not consult the toString()
method to be coerced to strings — rather, they are directly converted using the same algorithm as the initial toString()
implementation.
BigInt.prototype.toString = () => "Overridden";
console.log(`${1n}`); // "1"
console.log(`${Object(1n)}`); // "Overridden"