AFAIK, a JS method is a function that relies on the keyword this:
When we call a function, its current internal this becomes equal to the object of the left side of the dot . accessor operator.
However, if we assign a function reference to a variable or container, we end up calling that function w/o the dot . operator; thus its this is undefined!
As a workaround, we can call such methods via call(), so we can choose its this:
For a more permanent solution, we can call bind() at the moment we’re assigning a method to a variable or container, so its this is forever bound to a specific object: