Объекты в JavaScript могут содержать не только данные, но и функции — они называются методами. Это как у автомобиля: он не просто существует, у него есть поворотники, зажигание, сигнал — всё это «методы» машины.

Что такое метод объекта?

Метод — это функция, которая является свойством объекта.

Аналогия

Если объект — это автомобиль, то метод — это кнопка запуска двигателя. Нажали — машина завелась.

Ключевое слово this

Внутри метода мы можем обратиться к самому объекту с помощью this. Это ключевое слово указывает на объект, которому принадлежит метод.

Пример из жизни

Вы водитель и говорите: "Моя машина — BMW". Слово «моя» — это и есть this в контексте объекта, от чьего имени говорится.

Что будет, если потерять контекст?

Если метод "вырезать" из объекта и вызвать отдельно, this может стать undefined или указать на глобальный объект.

Чтобы сохранить this, можно использовать стрелочные функции или методы bind, call, apply.

Использование стрелочных функций

Стрелочные функции не имеют своего this, они берут его из внешнего контекста.

Методы делают объекты в JavaScript живыми и интерактивными. А this позволяет этим методам знать, к какому объекту они принадлежат. Как водитель знает, какая машина его, так и метод с this знает, где он работает.