推荐答案
指数运算符 (**) 用于计算一个数的指数幂。它返回第一个操作数的第二个操作数次幂的结果。例如,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 环境中可能不被支持。在使用时,请确保目标环境支持该特性。