参考答案:
箭头函数不同于传统JavaScript中的函数,箭头函数并没有属于⾃⼰的this,它所谓的this是捕获其所在上下⽂的 this 值,作为⾃⼰的 this 值,并且由于没有属于⾃⼰的this,所以是不会被new调⽤的,这个所谓的this也不会被改变。
可以⽤Babel理解⼀下箭头函数:
1// ES6 2const obj = { 3 getArrow() { 4 return () => { 5 console.log(this === obj); 6 }; 7 } 8}
转化后:
1// ES5,由 Babel 转译 2var obj = { 3 getArrow: function getArrow() { 4 var _this = this; 5 return function () { 6 console.log(_this === obj); 7 }; 8 } 9};
最近更新时间:2024-07-20