Implement myCall(fn, thisArg, ...args)
Write myCall(fn, thisArg, ...args) that invokes fn with this bound to thisArg and the given arguments — a standalone version of fn.call(thisArg, ...args).
function greet(greeting) { return greeting + ", " + this.name; }
myCall(greet, { name: "Ada" }, "Hello"); // "Hello, Ada"Hint: the classic trick is to temporarily attach fn as a property of thisArg, call it as a method (which is what makes JS bind this), then remove the property again.