JavaScript 幂运算符

摘要: 在本教程中,您将学习如何使用 JavaScript 幂运算符 (**) 将一个数字提升到指数的幂。

JavaScript 幂运算符简介

要将一个数字提升到指数的幂,您通常使用静态方法 Math.pow(),其语法如下

Math.pow(base, exponent)Code language: JavaScript (javascript)

例如

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

result = Math.pow(2,3);
console.log(result); // 8Code language: JavaScript (javascript)

ECMAScript 2016 提供了一种使用幂运算符 ( **) 将底数提升到指数幂的替代方法,其语法如下

x**n

运算符 **x 提升到指数 n 的幂。

请注意,某些语言使用插入符号 ^ 表示幂运算。但是,JavaScript 已经使用该符号表示 按位异或运算符。

以下示例说明了如何使用幂运算符 (**)

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

result = 2 ** 3;
console.log(result); // 8Code language: JavaScript (javascript)

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

let result = 2n ** 3n;
console.log(result); // 8nCode language: JavaScript (javascript)

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

let x = 2;
x **= 4;
console.log(x); // 16Code language: JavaScript (javascript)

JavaScript 不允许您在基数之前立即放置一元运算符。如果您尝试这样做,您将得到一个 SyntaxError

以下示例会导致语法错误

let result = -2**3;Code language: JavaScript (javascript)

错误

Uncaught SyntaxError: Unary operator used immediately before exponentiation expression. Parenthesis must be used to disambiguate operator precedenceCode language: JavaScript (javascript)

要解决此问题,您可以使用括号,例如

let result = (-2)**3;
console.log(result); // -8Code language: JavaScript (javascript)

摘要

  • 幂运算符 ** 将一个数字提升到指数的幂。
  • 幂运算符 ** 接受numberbigint 类型的 value。
本教程对您有帮助吗?