javascript中(双星号)是es2016引入的求幂运算符,语法为底数指数,支持数字、变量及表达式,优先级低于一元负号需括号处理负底数,小数指数支持开方但负底数非整数次幂返回nan,可赋值缩写**=,兼容现代环境,旧环境需用math.pow()替代。

JavaScript 中用 **(双星号)作为求幂运算符,直接计算一个数的几次方,比如 2 ** 3 得到 8。
基本用法:用 ** 计算 a 的 b 次方
语法很简单:底数 ** 指数。底数和指数可以是数字、变量或表达式。
-
5 ** 2→25(5 的平方) -
4 ** 0.5→2(开平方,等价于 √4) -
2 ** 10→1024(2 的 10 次方) -
let x = 3; x ** 3→27
注意负数和小数指数的处理
负底数要加括号避免歧义;小数指数支持开方、立方根等实数运算,但负底数加分数指数可能返回 NaN(因为 JS 不支持负数的非整数次幂)。
Java JDK 25 来自 OpenJDK 官方归档,版本为 JDK 25,本条下载地址已指向官方 Windows x64 zip 安装包直链,适合调试旧项目或兼容旧版 Java 运行环境。
-
(-2) ** 3→-8(正确写法) -
-2 ** 3→-8?错!实际是-(2 ** 3)=-8,但这是取负不是求幂,优先级低于一元负号 -
(-4) ** 0.5→NaN(负数不能开实数平方根) -
8 ** (1/3)→ 约2(立方根,结果是近似值)
与 Math.pow() 的区别
** 是中缀运算符,更简洁直观;Math.pow(base, exponent) 是函数调用,两者行为基本一致,但 ** 支持赋值缩写 **=,且在某些边界情况(如 0 ** 0)都返回 1(符合数学惯例)。
-
3 ** 4和Math.pow(3, 4)都得81 -
let n = 2; n **= 3;→n变成8 -
0 ** 0→1(而Math.pow(0, 0)也是1)
兼容性提醒
** 运算符从 ES2016(ES7)开始支持,现代浏览器和 Node.js(v8.0+)都没问题。如果需兼容旧环境(如 IE 或老版本 Node),改用 Math.pow()。
- Chrome 52+、Firefox 52+、Safari 10.1+、Edge 14+ 支持
- 构建工具(如 Babel)可将
**编译为Math.pow()以适配老环境
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










