es6指数运算符
今天看es6时发现了指数运算符,对于这个运算符 开始我是一脸懵逼的,在网上查了一下好多都是照着api直接搬的,在这儿我就整理一下我所理解的指数运算符(**)
指数运算又叫幂运算,在aⁿ(a≠0)中a为底数,n为指数,指数位于底数的右上,指数运算表示指数个底数相乘。
如:
// (2 ** 3) === (2 * 2 * 2)
let a = 2 ** 3
// (2 ** 3) === (2 * 2 * 2 * 2)
let b = 2 ** 4
console.log(a)//8
console.log(b)//16
要注意的一点是这个运算符的一个特点是右结合,而不是常见的左结合。多个指数运算符连用时,是从最右边开始计算的。
如:
// 相当于 2 ** (3 ** 2);
let c = 2 ** 3 ** 2
// (2 ** 2 ** 3) === 2 ** (2 ** 3) === 2 ** 8
let d = 2 ** 2 ** 3
console.log(c)//512
console.log(d)//256