Javascript Bind работает для функции в словаре - PullRequest
0 голосов
/ 27 июня 2018

так что у меня есть функция внутри словаря

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

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

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

это дает мне неопределенное значение, где я ожидаю, что это будет a

эта привязка сработает, если я переместу функцию из словаря. почему не связывает работу со словарем?

1 Ответ

0 голосов
/ 27 июня 2018

Создайте функцию как свойство вместо использования функции стрелки, связывание не работает для этого со стрелками

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

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

const a = new A();
a.fun();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...