在我看来,在ES6,下面的两个功能都非常接近相同的:
function () {
return this;
}.bind(this);
() => {
return this;
};
Run Code Online (Sandbox Code Playgroud)
最终结果看起来是一样的:箭头函数生成一个JavaScript函数对象,其this上下文绑定到与this创建它们的位置相同的值.
显然,在一般意义上,Function.prototype.bind它比箭头函数更灵活:它可以绑定到本地以外的值this,并且它可以this在任何时间点绑定任何函数,可能在最初创建之后很长时间.不过,我不问如何bind本身就是从箭头的功能不同,我问箭头的功能是如何从立即调用不同bind使用this.
ES6中的两个结构之间是否有任何差异?