Встречается на собеседованиях • сегодня
В чем разница между контекстом у функции вызванной на объекте и присвоенной в переменную
Разница в значении this:
- При вызове метода объекта
obj.method()thisссылается на сам объект (obj) - При присвоении метода в переменную
const fn = obj.methodтеряется привязка к объекту,thisстановитсяundefined(в strict mode) или window (без strict mode)
Пример:
javascript
const obj = {
name: 'Test',
method() {
console.log(this.name);
}
};
obj.method(); // 'Test' - this = obj
const fn = obj.method;
fn(); // undefined - this потерянДля сохранения контекста можно использовать:
bind:const boundFn = obj.method.bind(obj)- стрелочные функции (если метод определен как стрелочная)

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы