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

Как изменит контекст функции

Контекст функции (this) можно изменить несколькими способами:

  1. .call() и .apply() - вызывают функцию с явным указанием контекста и аргументами (разница в передаче аргументов - массив или через запятую):
javascript
func.call(context, arg1, arg2);
func.apply(context, [arg1, arg2]);
  1. .bind() - создает новую функцию с привязанным контекстом:
javascript
const boundFunc = func.bind(context);
  1. Стрелочные функции - не имеют своего this, он берется из окружающего контекста:
javascript
const obj = {
  method: () => console.log(this) // this будет из внешней области
};
  1. Вызов как метода объекта - this становится сам объект:
javascript
obj.method(); // this === obj
  1. Оператор new - создает новый объект и делает его контекстом:
javascript
const instance = new Constructor();
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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