Назад к вопросам
Middle
68
questionbank
Для чего нельзя использовать ключевое слово 'this' в JavaScript?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
this нельзя использовать в стрелочных функциях для привязки к собственному контексту. Стрелочные функции не создают свой собственный this, а наследуют его из области видимости, в которой были определены.
Также this ненадежен в обратных вызовах асинхронных операций или обработчиках событий без явной привязки контекста (.bind(), .call(), .apply()), так как его значение может измениться или стать глобальным объектом (в нестрогом режиме) или undefined (в строгом режиме).
Пример:
function traditionalFunction() {
console.log(this); // this зависит от вызова
}
const arrowFunction = () => {
console.log(this); // this наследуется из внешней области видимости
};
const obj = {
method: traditionalFunction
};
obj.method(); // this - obj
traditionalFunction(); // this - глобальный объект (window / global)
const obj2 = {
method: arrowFunction
};
obj2.method(); // this - наследуется. Если определена в глобальной области, то global/window.