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

docs(proposals): edit option chaining operator

This commit is contained in:
ruanyf 2018-02-26 14:37:51 +08:00
commit a13917f1be
2 changed files with 3 additions and 3 deletions

View File

@ -151,7 +151,7 @@ g.next() // { value: 3, done: false }
g.next(2) // { value: 2, done: true }
```
上面代码中,第一`next`方法的`value`属性,返回表达式`x + 2`的值`3`。第二个`next`方法带有参数`2`,这个参数可以传入 Generator 函数,作为上个阶段异步任务的返回结果,被函数体内的变量`y`接收。因此,这一步的`value`属性,返回的就是`2`(变量`y`的值)。
上面代码中,第一`next`方法的`value`属性,返回表达式`x + 2`的值`3`。第二个`next`方法带有参数`2`,这个参数可以传入 Generator 函数,作为上个阶段异步任务的返回结果,被函数体内的变量`y`接收。因此,这一步的`value`属性,返回的就是`2`(变量`y`的值)。
Generator 函数内部还可以部署错误处理代码,捕获函数体外抛出的错误。

View File

@ -129,7 +129,7 @@ const firstName = (message
&& message.body.user.firstName) || 'default';
```
这样的层层判断非常麻烦,因此现在有一个[提案](https://github.com/claudepache/es-optional-chaining)引入了“链判断运算符”optional chaining operator`?.`,简化上面的写法。
这样的层层判断非常麻烦,因此现在有一个[提案](https://github.com/tc39/proposal-optional-chaining)引入了“链判断运算符”optional chaining operator`?.`,简化上面的写法。
```javascript
const firstName = message?.body?.user?.firstName || 'default';
@ -374,7 +374,7 @@ g(1, 2, 3); // [1, 2, 3, 9, 1, 2, 3]
## 管道运算符
Unix 操作系统有一个管道机制pipeline可以把前一个操作的值传给后一个操作。这个机制非常有用使得简单的操作可以组合成为复杂的操作。许多语言都有管道的实现现在有一个[提案](https://github.com/tc39/proposal-partial-application),让 JavaScript 也拥有管道机制。
Unix 操作系统有一个管道机制pipeline可以把前一个操作的值传给后一个操作。这个机制非常有用使得简单的操作可以组合成为复杂的操作。许多语言都有管道的实现现在有一个[提案](https://github.com/tc39/proposal-pipeline-operator),让 JavaScript 也拥有管道机制。
JavaScript 的管道是一个运算符,写作`|>`。它的左边是一个表达式,右边是一个函数。管道运算符把左边表达式的值,传入右边的函数进行求值。