In most cases, the value of 'this' is determined by how a function is called. 'this' usually refers to the object that is calling the current function. If a function, foo(), is called from the global scope ("foo()"), then 'this' will refer to the global object - the Window object. But if foo() is called from inside the scope of another object ("devsage.foo()"), then 'this' will refer to the object that is calling foo() - which is the 'devsage' object. Arrow functions don't provide their own 'this' binding so it inherits the 'this' value of the enclosing function.
📚Materials/References:
MDN Web Docs: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this
🌎 Find Me Here:
Twitter: https://twitter.com/realDevSage
Discord: https://discord.gg/BP8wPv6raA
Ebooks: https://payhip.com/devsage
Merch: https://cottonbureau.com/people/devsage