JavaScript
中运算符优先级:
**
幂运算符的优先级
经测试,幂运算符 **
优先级在 *
等之前,++
等之后。即:
10 * 2 ** 2; // => 40 先计算 2 ** 2 = 4, 再计算 10 * 4 = 40
let i = 10;
++i ** 2; // => 121 先计算 ++i = 11, 再计算 11 ** 2 = 121
连续 **
幂运算符的特殊运算顺序
连续 **
幂运算会导致特殊运算顺序!
10 ** 2; // => 100 正常幂运算
10 ** 2 ** 0; // => 10 连续幂运算是从右往左的:先计算 2 ** 0 = 1, 再计算 10 ** 1 = 10
10 ** 2 ** 0 ** 0; // => 100 先计算 0 ** 0 = 1, 再计算 2 ** 1 = 2, 再计算 10 ** 2 = 100
结论:连续幂运算是从右往左计算!
笔记主要为自用,欢迎友好交流!