Народ, всем привет. this — одно из самых загадочных ключевых слов в JavaScript. Даже опытные разработчики периодически теряются, когда сталкиваются с его поведением. А причина проста, ведь значение this зависит не от места, где функция написана, а от того, как она вызвана. По факту, this — это ссылка на контекст выполнения функции. Проще говоря, он указывает на объект, из контекста которого вызвана функция. Пока сложно? Давайте на примерах: const user = { name: "Аня", sayHi() { console.log(this.name); } }; user.sayHi(); // "Аня" Здесь this внутри sayHi указывает на объект user, потому что метод был вызван через user.sayHi(). 1. В браузере, если вызвать функцию без объекта, this ссылается на глобальный объект window. function foo() { console.log(this); } foo(); // window (в браузере) Кстати, в строгом режиме ('use strict') значение будет undefined: 2. Если функция вызывается как метод объекта, this указывает на этот объект (то, о чем я написал выше). const cat = { name: "Мурка", meow()
This в JavaScript, как он работает и почему все путаются
25 сентября 202525 сен 2025
42
3 мин