推荐答案
指数运算符 (**
) 用于计算一个数的指数幂。它返回第一个操作数的第二个操作数次幂的结果。例如,2 ** 3
返回 8
,因为 2
的 3
次幂是 8
。
本题详细解读
语法
base ** exponent
base
:基数,即要进行指数运算的数。exponent
:指数,即基数要进行的幂次。
示例
console.log(2 ** 3); // 输出: 8 console.log(10 ** 2); // 输出: 100 console.log(3 ** 4); // 输出: 81
注意事项
- 优先级:指数运算符的优先级高于大多数其他运算符,包括乘法和除法。例如,
2 ** 3 * 2
的结果是16
,而不是64
,因为2 ** 3
先计算得到8
,然后8 * 2
得到16
。 - 右结合性:指数运算符是右结合的,这意味着表达式
2 ** 3 ** 2
会被解释为2 ** (3 ** 2)
,结果是512
,而不是(2 ** 3) ** 2
的64
。 - 负数指数:可以使用负数作为指数来计算倒数。例如,
2 ** -3
的结果是0.125
,即1 / (2 ** 3)
。 - NaN 和 Infinity:如果基数或指数是
NaN
或Infinity
,结果可能是NaN
或Infinity
,具体取决于操作数的值。
与其他方法的比较
在 ES6 之前,计算指数幂通常使用 Math.pow()
函数。例如,Math.pow(2, 3)
也返回 8
。然而,使用指数运算符 **
更加简洁和直观。
// 使用 Math.pow() console.log(Math.pow(2, 3)); // 输出: 8 // 使用指数运算符 console.log(2 ** 3); // 输出: 8
兼容性
指数运算符 **
是 ES2016 (ES7) 引入的特性,因此在较旧的 JavaScript 环境中可能不被支持。在使用时,请确保目标环境支持该特性。