A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/BigInt_negative_exponent below:

RangeError: BigInt negative exponent - JavaScript

RangeError: BigInt negative exponent

The JavaScript exception "BigInt negative exponent" occurs when a BigInt is raised to the power of a negative BigInt value.

Message
RangeError: Exponent must be positive (V8-based)
RangeError: BigInt negative exponent (Firefox)
RangeError: Negative exponent is not allowed (Safari)
Error type

RangeError.

What went wrong?

The exponent of an exponentiation operation must be positive. Since negative exponents would take the reciprocal of the base, the result will be between -1 and 1 in almost all cases, which gets rounded to 0n. To catch mistakes, negative exponents are not allowed. Check if the exponent is non-negative before doing exponentiation.

Examples Using a negative BigInt as exponent
const a = 1n;
const b = -1n;
const c = a ** b;
// RangeError: BigInt negative exponent

Instead, check if the exponent is negative first, and either issue an error with a better message, or fallback to a different value, like 0n or undefined.

const a = 1n;
const b = -1n;
const quotient = b >= 0n ? a ** b : 0n;
See also

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4