this depende de cómo se invoque una función. En un método normal suele hacer referencia al objeto receptor; las funciones flecha no crean su propio this.
Ejemplo
JavaScript · Funciones
const contador = {
valor: 2,
leer() { return this.valor; }
};
console.log(contador.leer()); // 2Evita esta confusión
Extraer un método y llamarlo como función suelta puede cambiar this. Las reglas de módulos, strict mode, bind y funciones flecha también influyen.