Understand JavaScript's this Keyword in Depth

Marius Schulz

Marius Schulz

I'm a software developer and web enthusiast currently living in London. When I'm not programming, I love to read, play the piano, work out, or go latin dancing.

About the Course

JavaScript’s this keyword is a source of confusion for many new and experienced developers alike. It can be frustrating if, for some reason, this doesn’t point to the context that was intended. This course will help you understand JavaScript’s this mechanism in depth.

Marius will take us through all of the ways this will change its values. From why many libraries use "use strict" to how arrow functions take its outer execution context’s this. He will show us how JavaScript implicitly sets the this context and how we can set it ourselves. We’ll see that the call-site of a function determines the this value of that function invocation. We’ll also learn how to call a function with a specific this value and how to create functions that always remain tied to a specific this context.

Finally, we’ll take a look at how this is treated within arrow functions and classes.