Встречается на собеседованиях • сегодня

Какие знаешь способы манипулирования контекстом функции в JavaScript

В JavaScript есть три основных способа управления контекстом функции:

  1. .call() - вызывает функцию с указанным контекстом и аргументами через запятую:
js
func.call(context, arg1, arg2);
  1. .apply() - аналогичен .call(), но принимает аргументы в виде массива:
js
func.apply(context, [arg1, arg2]);
  1. .bind() - создает новую функцию с привязанным контекстом (не вызывает сразу):
js
const boundFunc = func.bind(context);
boundFunc(arg1, arg2);

Также контекст можно передать через стрелочные функции (они не имеют своего this и берут его из внешней области):

js
const obj = {
  value: 42,
  getValue: () => this.value // возьмет this из внешнего контекста
};

Важно: при использовании new контекст создается автоматически и привязывается к новому объекту.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы