JS call, bind, and apply methods
The this keyword references the object to which the function belongs (remember, everything in JS is an Object).
The value of the this keyword is determined by how/where the function was executed.
This means that if we are not careful we can lose the scope of what this is actually pointing to.
In this article we take a refreshing look at the bind(), call(), & apply() methods.