• 1
  • 新人请关照

typescript 编译为es5 的 this 问题

我正在学习 typescript 过程中遇到如下问题

function func(thisarg, callback) {
    callback = callback.bind(thisarg);
    return callback();
}
const hello = {
    name: "joe",
}
func(hello, () => {
    console.log(this.name);// undefined
});

之后查看了编译结果

console.log(_this.name);// this => _this

尝试手动把 _this 改为 this ,之后在node下运行可以得到 joe 这个结果。希望路过的大佬能帮我解惑,我应该在 typescript 中怎样写才能的到想要的结果。

阅读 361
评论
    2 个回答
    • 7.7k

    func的第二个参数是箭头函数,箭头函数的this不能重现绑定啦,应该传入一个普通函数。

      撰写回答

      登录后参与交流、获取后续更新提醒

      相似问题
      推荐文章