El siguiente código pierde el contexto de esto cuando estoy eliminando un método de objeto. Quiero manejar este escenario donde la función devuelta puede acceder al nombre.
// function should return debounced function with this context function debounce(cb, delay = 100) { let timer; return function (...args) { clearTimeout(timer); timer = setTimeout(cb.bind(this, ...args), delay); }; } let x = { name: "Priyadarshi", sayHi: function () { console.log("Hi " + this.name); } }; // Here returned function looses the this context const y = debounce(x.sayHi); document.addEventListener("mousemove", () => { y(); });