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