В javascript «это» — это объект, но его значение может меняться в зависимости от того, как и где вызывается функция.
Например:
const person1 = { name: "john", age: 14, info: function () { console.log(`Hi my is name ${this.name} and i am ${this.age} year old`) } } person1.info() // "Hi my is name john and i am 14 year old"
В приведенном выше примере кода вы видите, что я назвал «это» в объекте person1, здесь «это» относится к объекту person1, здесь означает значение «this»=person — это сам объект person.
если вы вызываете «это» в глобальной области видимости, его значение будет объектом окна, означающим «это»=окно
//both code will print window object console.log(this) function myfun(){ console.log(this) }
Вы видели, что в объекте ключевое слово this относится к самому объекту, где он был вызван, а в глобальной области видимости оно относится к глобальному объекту.
Имейте в виду, что «это» значение не является фиксированным, оно ведет себя по-разному в разных сценариях. Его значение может меняться в зависимости от того, как и где вызывается функция.
Это значение можно изменить с помощью методов call(), apply(), bind(), вы можете узнать больше об этом https://medium.com/@sagarkarotia/this-keyword-in-javascript. -535b3743c6a9»