javascript绑定确实适用于字典中的功能

时间:2018-06-27 17:41:36

标签: javascript ecmascript-6

所以我在字典中有一个函数

const Dict = {
    func : () => {
       console.log(this);
    }
}

class A {
    constructor() {
        this.fun = Dict.func.bind(this);
    }
}

const a = new A();
a.fun();

这给了我未定义的位置,我希望它是a

如果我将功能移出字典,则此绑定似乎有效。为什么不对字典使用绑定?

1 个答案:

答案 0 :(得分:0)

将函数创建为属性,而不是使用箭头函数,绑定对此操作不适用于箭头

const Dict = {
  func() {
    console.log(this);
  }
}

class A {
  constructor() {
    this.fun = Dict.func.bind(this);
  }
}

const a = new A();
a.fun();