TypeScript infiere cual serĆ” el elemento al cual this hace referencia, por ejemplo:
const usuario = {
id: 123,
admin: false,
volverseAdmin: function () {
this.admin = true;
},
};
console.log(usuario.admin);
usuario.volverseAdmin();
console.log(usuario.admin);
false;
true;
Cuando ejecutamos la función volverseAdmin() el valor de admin cambia de false a true.
Ahora supongamos que en lugar de utilizar una función utilizamos una función tipo flecha.
const usuario2 = {
id: 123,
admin: false,
volverseAdmin: () => {
this.admin = true;
},
};
console.log(usuario2.admin);
usuario2.volverseAdmin();
console.log(usuario2.admin);
false;
false;
En este caso this no permite hacer cambios a admin por lo cual el valor false se preserva.