Встречается на собеседованиях • сегодня
Как явно задать функции контекст
В JavaScript контекст функции (значение this) можно явно задать с помощью методов call(), apply() или bind().
- call() - вызывает функцию с указанным контекстом и аргументами через запятую:
js
function greet() {
console.log(`Hello, ${this.name}`);
}
const person = {name: 'Alice'};
greet.call(person); // Hello, Alice- apply() - аналогичен call, но аргументы передаются массивом:
js
function sum(a, b) {
return a + b + this.c;
}
const obj = {c: 3};
sum.apply(obj, [1, 2]); // 6- bind() - создает новую функцию с привязанным контекстом:
js
const boundFunc = greet.bind(person);
boundFunc(); // Hello, AliceРазличия:
call/applyвызывают функцию сразуbindвозвращает новую функцию с привязанным контекстомcallпринимает аргументы списком,apply- массивом

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