Если я запускаю этот скрипт в Chrome и ставлю точку останова в строке 3, то проверяю, this
показывается как obj
. Однако при выполнении шага Window
регистрируется на консоли.
Если вы измените method
на обычную функцию стрелки (уберите async
), this
будет undefinied
при проверке и Window
при регистрации (я думаю, это нормальное поведение?). Я понятия не имею, что здесь происходит. Похоже, ошибка, но я знаю лучше, чем предполагать.
let obj = {
method: async()=>{
console.log(this); //break point here
},
};
obj.method();