Любой доступ к ключевому слову this
внутри функции подконтролен тому как функция была вызвана. Обычно это называют "контекстом вызова".
Пример:
function foo() {
console.log(this);
}
foo(); // Выводит глобальный объект, например `window` в браузерах
let bar = {
foo
}
bar.foo(); // Выводит `bar` так как `foo` была вызвана на `bar`
Так что будьте внимательны с вашим использованием this
. Если вы хотите отделить this
в классе от контекста вызова - используйте стрелочную функцию больше об этом позже.