page contents

箭头函数的this指向哪里?

轩辕小不懂 发布于 2021-12-17 13:59
阅读 504
收藏 0
分类:WEB前端开发
2674
Nen
Nen
- 程序员

箭头函数不同于传统JavaScript中的函数,箭头函数并没有属于自己的this,它所谓的this是捕获其所在上下文的 this 值,作为自己的 this 值,并且

由于没有属于自己的this,所以是不会被new调用的,这个所谓的this也不会被改变。

可以用Babel理解⼀下箭头函数:

// ES6

const obj = {

 getArrow() {

 return () => {

 console.log(this === obj);

 };

 }

}

转化后:
// ES5,由 Babel 转译
var obj = {
 getArrow: function getArrow() {
 var _this = this;
 return function () {
 console.log(_this === obj);
 };
 }
};

请先 登录 后评论