I\'ve got a JavaScript application that uses a lot of callbacks. A typical function will take a callback, and wrap it with another callback.
Namespace.foo = func
One scenario I often use "call" is splice arguments:
const fn = function() { const args = Array.prototype.slice.call(arguments, 0); console.log(args); }
Notice that arguments is an object. the args however is an array.