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

Какие знаешь методы закрепления this у функции

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

  1. .bind() - создаёт новую функцию с жёстко привязанным this:
js
const boundFunc = someFunc.bind(context);
  1. .call() и .apply() - вызывают функцию с заданным this и аргументами (разница в передаче аргументов):
js
someFunc.call(context, arg1, arg2);
someFunc.apply(context, [arg1, arg2]);
  1. Стрелочные функции - автоматически сохраняют this из окружающего контекста:
js
const obj = {
  method: () => {
    // this берётся из внешнего контекста
  }
};
  1. Сохранение контекста в переменную (часто self или that):
js
function someFunc() {
  const self = this;
  setTimeout(function() {
    self.doSomething();
  }, 100);
}
  1. Использование классов и полей класса (современный синтаксис):
js
class MyClass {
  handleClick = () => {
    // this всегда ссылается на экземпляр класса
  };
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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