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