En el siguiente código, estoy pasando un método de una instancia de clase como argumento de devolución de llamada a otra función. Pero this no está definido cuando solo paso la firma del método. Así que me pregunto qué cambia this según el formato del argumento de devolución de llamada. ¿Hay algunos documentos JS para este caso específico?
class MyClass { foo = 'foo'; bar() { console.log('This is:'); console.log(this); } } const handler = (callback) => { callback() } const myClass = new MyClass() handler(myClass.bar) handler(() => myClass.bar())Producción:
This is: undefined This is: MyClass {foo: 'foo'}