Перейти к содержанию

this

Любой доступ к ключевому слову this внутри функции подконтролен тому как функция была вызвана. Обычно это называют "контекстом вызова".

Пример:

1
2
3
4
5
6
7
8
9
function foo() {
    console.log(this);
}

foo(); // Выводит глобальный объект, например, `window` в браузерах
let bar = {
    foo,
};
bar.foo(); // Выводит `bar`, так как `foo` была вызвана на `bar`

Так что будьте внимательны с вашим использованием this. Если вы хотите отделить this в классе от контекста вызова - используйте стрелочную функцию больше об этом позже.

Комментарии