1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-05-24 18:32:22 +00:00

docs(number): 补充指数运算符

This commit is contained in:
ruanyf 2018-08-30 13:00:50 +08:00
parent 37d9896f96
commit bfd962c55f

View File

@ -664,6 +664,16 @@ ES2016 新增了一个指数运算符(`**`)。
2 ** 3 // 8 2 ** 3 // 8
``` ```
这个运算符的一个特点是右结合,而不是常见的左结合。多个指数运算符连用时,是从最右边开始计算的。
```javascript
// 相当于 2 ** (3 ** 2)
2 ** 3 ** 2
// 512
```
上面代码中,首先计算的是第二个指数运算符,而不是第一个。
指数运算符可以与等号结合,形成一个新的赋值运算符(`**=`)。 指数运算符可以与等号结合,形成一个新的赋值运算符(`**=`)。
```javascript ```javascript
@ -676,7 +686,7 @@ b **= 3;
// 等同于 b = b * b * b; // 等同于 b = b * b * b;
``` ```
注意,在 V8 引擎中,指数运算符与`Math.pow`的实现不相同,对于特别大的运算结果,两者会有细微的差异。 注意,V8 引擎的指数运算符与`Math.pow`的实现不相同,对于特别大的运算结果,两者会有细微的差异。
```javascript ```javascript
Math.pow(99, 99) Math.pow(99, 99)