docs(function): edit 双冒号运算符 #529

This commit is contained in:
ruanyf
2017-10-26 11:24:57 +08:00
parent ce3b9f598b
commit cc33b1fd3d
+4 -4
View File
@@ -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
// 例一