Polyfill para chamada

Function.prototype.myCall = function (...args) {
  let obj = args[0]
  const params = args.slice(1)

  obj = {
    ...obj,
    fn: this
  }

  return obj.fn(...params)
}
Badass