在本教程中,您将学习如何使用 JavaScript 求幂运算符 ** 来计算一个数的指数次方。

JavaScript 求幂运算符简介

要计算一个数的指数次方,通常使用静态方法 Math.pow() ,它具有以下语法:

Math.pow(base, exponent)

例如:

let result = Math.pow(2,2);
console.log(result); // 4

result = Math.pow(2,3);
console.log(result); // 8

ECMAScript 2016 提供了另一种方法来获取指数幂的底数,方法是使用求幂运算符 **,它具有以下语法:

x**n

运算符 ** 将 x 提高到指数 n 次方。

请注意,某些语言使用脱字符号 ^ 来求幂。但是,JavaScript 已经将该符号用于按位逻辑运算符。

以下示例说明如何使用求幂运算符 **

let result = 2 ** 2;
console.log(result); // 4

result = 2 ** 3;
console.log(result); // 8

Math.pow() 接受一个值并将其转换为数字类型的值进行计算。同样,运算符 ** 接受 number 类型的值。此外,运算符 ** 也接受 bigint 类型的值。例如:

let result = 2n ** 3n;
console.log(result); // 8n

此外,您可以在中缀表示法中使用求幂运算符 **。例如:

let x = 2;
x **= 4;
console.log(x); // 16

JavaScript 不允许您将一元运算符紧接在基数之前。如果您尝试这样做,您将获得语法错误 SyntaxError

Uncaught SyntaxError: Unary operator used immediately before exponentiation expression. Parenthesis must be used to disambiguate operator precedence。

以下示例导致语法错误:

let result = -2**3;

要解决此问题,您可以像这样使用括号:

let result = (-2)**3;
console.log(result); // -8

结论

  • 求幂运算符 ** 将数字提高到指数的次方。
  • 求幂运算符接受 number 或者 bigint 类型的值。