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

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