Проверяет понимание контекста выполнения функции в JavaScript и случаев, когда значение this теряется или становится undefined.
Значение this в JavaScript определяется тем, как вызывается функция, а не где она объявлена. this становится undefined в строгом режиме ('use strict'), когда функция вызывается без явного контекста — то есть не как метод объекта, не через call/apply/bind и не как конструктор.
this будет undefined в строгом режиме.setTimeout или обработчик событий) контекст теряется, если не привязан.function) получает свой собственный this, который в строгом режиме будет undefined.'use strict';
function showThis() {
console.log(this); // undefined
}
showThis();
const obj = {
method: showThis
};
obj.method(); // obj (контекст есть)
const callback = obj.method;
callback(); // undefined (контекст потерян)bind, call, apply для явной привязки.this, а наследуют его из внешнего лексического окружения.this через переменную (например, const self = this).Понимание, когда this равен undefined, критично для избежания ошибок в асинхронном коде и колбэках. В современном JavaScript рекомендуется использовать стрелочные функции или явную привязку контекста, чтобы гарантировать предсказуемое поведение.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию