mirror of
https://github.com/ruanyf/es6tutorial.git
synced 2025-05-24 18:32:22 +00:00
docs(function): edit 双冒号运算符 #529
This commit is contained in:
parent
ce3b9f598b
commit
cc33b1fd3d
@ -911,11 +911,11 @@ var fix = f => (x => f(v => x(x)(v)))
|
||||
|
||||
上面两种写法,几乎是一一对应的。由于λ演算对于计算机科学非常重要,这使得我们可以用ES6作为替代工具,探索计算机科学。
|
||||
|
||||
## 绑定 this
|
||||
## 双冒号运算符
|
||||
|
||||
箭头函数可以绑定`this`对象,大大减少了显式绑定`this`对象的写法(`call`、`apply`、`bind`)。但是,箭头函数并不适用于所有场合,所以ES7提出了“函数绑定”(function bind)运算符,用来取代`call`、`apply`、`bind`调用。虽然该语法还是ES7的一个[提案](https://github.com/zenparsing/es-function-bind),但是Babel转码器已经支持。
|
||||
箭头函数可以绑定`this`对象,大大减少了显式绑定`this`对象的写法(`call`、`apply`、`bind`)。但是,箭头函数并不适用于所有场合,所以现在有一个[提案](https://github.com/zenparsing/es-function-bind),提出了“函数绑定”(function bind)运算符,用来取代`call`、`apply`、`bind`调用。
|
||||
|
||||
函数绑定运算符是并排的两个冒号(::),双冒号左边是一个对象,右边是一个函数。该运算符会自动将左边的对象,作为上下文环境(即this对象),绑定到右边的函数上面。
|
||||
函数绑定运算符是并排的两个冒号(`::`),双冒号左边是一个对象,右边是一个函数。该运算符会自动将左边的对象,作为上下文环境(即`this`对象),绑定到右边的函数上面。
|
||||
|
||||
```javascript
|
||||
foo::bar;
|
||||
@ -944,7 +944,7 @@ let log = ::console.log;
|
||||
var log = console.log.bind(console);
|
||||
```
|
||||
|
||||
由于双冒号运算符返回的还是原对象,因此可以采用链式写法。
|
||||
双冒号运算符的运算结果,还是一个对象,因此可以采用链式写法。
|
||||
|
||||
```javascript
|
||||
// 例一
|
||||
|
Loading…
x
Reference in New Issue
Block a user