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:
commit
a13917f1be
@ -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 函数内部还可以部署错误处理代码,捕获函数体外抛出的错误。
|
||||
|
||||
|
@ -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 的管道是一个运算符,写作`|>`。它的左边是一个表达式,右边是一个函数。管道运算符把左边表达式的值,传入右边的函数进行求值。
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user