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

Как принудительно изменить контекст метода объекта

В JavaScript можно изменить контекст (this) метода объекта с помощью методов call(), apply() или bind().

  1. call() - вызывает функцию с указанным this и аргументами по отдельности:
javascript
const obj = { name: 'Alice' };
function greet() { console.log(`Hello, ${this.name}`); }
greet.call(obj); // Hello, Alice
  1. apply() - аналогичен call(), но принимает аргументы в виде массива:
javascript
const numbers = [1, 2, 3];
const min = Math.min.apply(null, numbers);
  1. bind() - создает новую функцию с привязанным контекстом:
javascript
const boundGreet = greet.bind(obj);
boundGreet(); // Hello, Alice

Также можно использовать стрелочные функции, которые не имеют своего this и наследуют его из окружающего контекста.

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

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

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

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