this keyword is a source of confusion for many new and experienced developers alike. It can be frustrating if, for some reason,
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 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
Finally, we’ll take a look at how
this is treated within arrow functions and classes.