箭头函数的this指向问题

this指向的固定化,并不是因为箭头函数内部有绑定this的机制,实际原因是箭头函数根本没有自己的this,导致内部的this就是外层代码块的this。正是因为它没有this,所以也就不能用作构造函数。

箭头函数转成ES5的代码如下。

function foo() {
  setTimeout(() => { console.log('id:', this.id); }, 100); } // ES5 function foo() { var _this = this; setTimeout(function () { console.log('id:', _this.id); }, 100); }


作者:紫陌兰溪
链接:https://www.jianshu.com/p/ee382fad8a9c
 
https://www.jianshu.com/u/c9a4863462fc

猜你喜欢

转载自www.cnblogs.com/qiqi105/p/9214209.html