What's the Math.trunc() Alternative for BigInt Values in JavaScript?

The JavaScript Math.trunc() method only works on the number primitive values, and not on the bigint primitive values:

// TypeError: Cannot convert a BigInt value to a number
Math.trunc(2n);

In fact, bigint values have no need for a "truncate" (or "trunc") method because:

  1. Bigint values are integers, and as such do not have a fraction part to "truncate" (or remove);
  2. Operations involving bigint values that produce a fractional result (such as division) are automatically truncated, and do not return any fractional digits.

For example:

// ES10+
const truncated = 10n / 4n;

console.log(truncated); // 2n (and not 2.5n)

The "n" at the end of a number merely suggests that the number is a bigint primitive.


Hope you found this post useful. It was published . Please show your love and support by sharing this post.