Math.abs() method only works on the number primitive values, and not on the bigint primitive values. Therefore, to determine the absolute value for bigint numbers, you can do the following:
// ES10+ const abs = (n) => (n < 0n) ? -n : n; console.log(abs(-18014398509481982n)); // 18014398509481982n console.log(abs(BigInt(-Number.MAX_SAFE_INTEGER))); // 9007199254740991n console.log(abs(-10n)); // 10n console.log(abs(-0n)); // 0n
n" at the end of a number merely suggests that the number is a bigint primitive.
This function works with numbers as well:
// ... console.log(abs(-25)); // 25 console.log(abs(-Infinity)); // Infinity
The only caveat is that
-0 number literal will return
-0. If you must absolutely support this edge case, then you can use the following instead:
const abs = (n) => (n === -0 || n < 0n) ? -n : n; console.log(abs(-0)); // 0
Hope you found this post useful. It was published . Please show your love and support by sharing this post.