Пример
А ты выведи this и посмотри
this - контекст вызова у нас. Он, в любом случае, есть. Вопрос в каком контексте вызывается у вас метод Плюс через bind, call, apply можно этот контекст подменять, чем вашей душе угодно Например: someClass.doSomething.call('anotherClass, param#1, param#2) - вы вызвали метод класса someClass и подставили туда контекст класса anotheClass, подменили в вызываемом методе this
В данном случае у меня контекст выполнения - undefined?)
дай угадаю? const instance = new CoolClass() someShit.on('message', instance.middleware)
ты лишаешь контекста МЕТОД middleware
Ну тк мне и не понятен этот процесс. Либа вызывает этот метод и ничего не обычного в этом нет. Что поменяется, если я сделаю instance.middleware()?
Каким образом? Что поменяется, если я сделаю instance.middleware()? Тогда, полагаю, контекст не будет undefined
чел... const instance = new CoolClass() someShit.on('message', instance.middleware) // или же const { middleware } = instance someShit.on('message', middleware) это по сути одинаковый код
Спасибо, теперь стало понятно
Обсуждают сегодня