Versions

prefer-exponentiation-operator

Disallow the use of Math.pow in favor of the ** operator

🔧 Fixable

Some problems reported by this rule are automatically fixable by the --fix command line option

在 ES2016 中引入的 infix 指数运算符 ** 是标准 Math.pow 函数的替代品。

Infix 符号被认为更具可读性,因此比函数符号更可取。

规则细节

这条规则不允许调用 Math.pow,建议使用 ** 运算符代替。

使用此规则的错误示例:

Open in Playground
/*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);

使用此规则的正确示例:

Open in Playground
/*eslint prefer-exponentiation-operator: "error"*/

const foo = 2 ** 8;

const bar = a ** b;

let baz = (a + b) ** (c + d);

let quux = (-1) ** n;

何时不用

除非你的代码库中支持 ES2016,否则不应使用这一规则。

Version

This rule was introduced in ESLint v6.7.0.

Further Reading

Resources

更改语言