Math.pow() method only works on the number primitive values, and not on the bigint primitive values. Therefore, to calculate the power of a bigint value, you can use the exponentiation operator (
// ES10+ const pow = (base, exponent) => base ** exponent; console.log(pow(2n, 10n)); // 1024n console.log(pow(12345679n, 2n)); // 152415789971041n console.log(pow(18014398509481982n, 2n)); // 324518553658426654725561982648324n
For example, mixing number and bigint together throws an error like the following:
// ES10+ const pow = (base, exponent) => base ** exponent; // TypeError: Cannot mix BigInt and other types, use explicit conversions console.log(pow(2n, 10));
That being said, you may use number primitives with the exponentiation operator (
**) as long as both, the base and the exponent, are of the same type:
// ES7+ // ... console.log(pow(2, 10)); // 1024
The minimum requirement of ES7 in this case is because the exponentiation operator was released with ES7.
Hope you found this post useful. It was published . Please show your love and support by sharing this post.