我已经尝试了一段时间的ES6,我只是遇到了一个小问题.
我真的很喜欢使用箭头功能,只要我能,我就会使用它们.
但是,看起来你无法绑定它们!
这是功能:
var f = () => console.log(this);
Run Code Online (Sandbox Code Playgroud)
这是我想要将函数绑定到的对象:
var o = {'a': 42};
Run Code Online (Sandbox Code Playgroud)
这里是我会怎么绑定f到o:
var fBound = f.bind(o);
Run Code Online (Sandbox Code Playgroud)
然后我可以打电话fBound:
fBound();
Run Code Online (Sandbox Code Playgroud)
哪个会输出这个(o对象):
{'a': 42}
Run Code Online (Sandbox Code Playgroud)
凉!可爱!除了它不起作用.它不输出o对象,而是输出window对象.
所以我想知道:你能绑定箭头功能吗?(如果是这样,怎么样?)
我在Google Chrome 48和Firefox 43中测试了上面的代码,结果是一样的.