Funciones, uso de 'this' (esto) de Funciones, uso de 'this' (esto)

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.