Встречается на собеседованиях • сегодня
Как поменять контекст при вызове функции
В JavaScript контекст функции (this) можно изменить с помощью методов call(), apply() или bind().
- call() - вызывает функцию с указанным контекстом и аргументами через запятую:
js
func.call(context, arg1, arg2);- apply() - аналогичен call, но аргументы передаются массивом:
js
func.apply(context, [arg1, arg2]);- bind() - создает новую функцию с привязанным контекстом:
js
const boundFunc = func.bind(context);
boundFunc(arg1, arg2);Пример:
js
const person = { name: 'Alex' };
function greet() {
console.log(`Hello, ${this.name}`);
}
greet.call(person); // Hello, AlexТакже контекст меняется при вызове метода объекта (obj.method()) или с помощью стрелочных функций (они сохраняют контекст объявления).

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