this - это специальный идентификатор, который автоматически определяется внутри области видимости каждой функции.
❕ Что точно стоит запомнить
this - зависит от того, в каких условиях была вызвана функция
Сегодня я хочу рассказать, какие условия вообще существуют 📚
➖ Привязка по умолчанию
Если попытаться обратиться к this в глобальной области видимости, оно по умолчанию будет привязано к глобальному контексту
➖ Неявная привязка
Если у точки вызова есть объект контекста, следовательно именно этот объект служит this для функции!
function log() {
console.log(this.a)
}
var obj = {
a: 2,
log: log
}
obj.log() // 2➖Неявно потерянный
Когда неявно привязанная функция теряет привязку и возвращается к привязке по умолчанию
➖Явная привязка
Организуется с помощью функций call, apply
foo.call(obj);
foo.apply(obj);
➖ Жесткая привязка
bind - возвращает функцию, которая вызывает оригинальную функции именно с тем контекстом, который вы передаете
#JavaScript