function() {
return this.name;
}
}
const cat = new Pet('Fluffy');
const getName = cat.getName;
console.log(getName()); // What is logged?
что выведется по вашему?
а теперь что тут внизу?
function Pet(name) {
this.name = name;
this.getName = () => this.name;
}
const cat = new Pet('Fluffy');
const getName = cat.getName;
console.log(getName()); // What is logged?
а так тогда почему андефайнд тоже? const cat = { name: 'Fluffy', getName: () => this.name } console.log(cat.getName());
про apply почитай
я понимаю что нужно сделать чтобы исправить это
тут this - global object
поскольку это стрелочная функция, она смотрит контекст "родителя" (родитель тоже должен быть функцией). а cat не функция, а объект, поэтому this будет в глобальном контексте искаться
Обсуждают сегодня