【JS笔记】运算符优先级(含连续**计算顺序)

35 阅读1分钟

JavaScript 中运算符优先级:

image.png

** 幂运算符的优先级

经测试,幂运算符 ** 优先级在 * 等之前,++ 等之后。即:

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

结论:连续幂运算是从右往左计算!

笔记主要为自用,欢迎友好交流!