May 31, 2023
This
this в JavaScript относится к объекту, в котором он был создан.
const noraTheCat = {
name: 'Nora',
color: 'orange',
whatsMyName: function () {
console.log(this.name)
}
}то, как меня зовут, называется объект 'noraTheCat', то есть то, чем является 'this'
noraTheCat.whatsMyName() // => Nora
this в JavaScript является сложной задачей, если учитывать область видимости.
function doTwice (func) {
func()
func()
}
const noraTheCat = {
name: 'Nora',
color: 'orange',
whatsMyName: function () {
console.log(this.name)
}
}Это приведет к ошибке. doTwice вызывает функцию как. самостоятельная функция, которая устанавливает 'this' в глобальную область видимости. whatsMyName не существует в window
doTwice(noraTheCat.whatsMyName()) // Error! func is not defined
Далее: bind