`Math.pow`

in favor of the `**`

operator (prefer-exponentiation-operator)The `--fix`

option on the command line can automatically fix some of the problems reported by this rule.

Introduced in ES2016, the infix exponentiation operator `**`

is an alternative for the standard `Math.pow`

function.

Infix notation is considered to be more readable and thus more preferable than the function notation.

This rule disallows calls to `Math.pow`

and suggests using the `**`

operator instead.

Examples of **incorrect** code for this rule:

/*eslint prefer-exponentiation-operator: "error"*/ const foo = Math.pow(2, 8); const bar = Math.pow(a, b); let baz = Math.pow(a + b, c + d); let quux = Math.pow(-1, n);

Examples of **correct** code for this rule:

/*eslint prefer-exponentiation-operator: "error"*/ const foo = 2 ** 8; const bar = a ** b; let baz = (a + b) ** (c + d); let quux = (-1) ** n;

This rule should not be used unless ES2016 is supported in your codebase.

- MDN Arithmetic Operators - Exponentiation
- Issue 5848: Exponentiation operator ** has different results for numbers and variables from 50 upwards

This rule was introduced in ESLint 6.7.0.

© JS Foundation and other contributors

Licensed under the MIT License.

https://eslint.org/docs/rules/prefer-exponentiation-operator