Necesito crear una clase, pero luego agregar un método a la clase, y ese método necesita acceso a las propiedades de la clase. Intenté enlazar this , pero no está definido cuando se ejecuta el método.
class TestClass { constructor(callback) { this.name = "Test"; this.doSomething = callback.bind(this); // WHY DOESN'T THIS WORK? } } const TestInstance = new TestClass( () => { console.log(`${this.name} is doing something!`); }, ); TestInstance.doSomething(); // this is undefined¿Lo estoy haciendo mal o no es posible?
Soy consciente de que podría crear una nueva clase que amplíe la primera y llamar a super en el constructor para acceder al this principal, pero por otras razones preferiría no crear clases secundarias.