¿Por qué "esto" no está definido dentro de una definición de función de flecha gruesa? [duplicar

Esta pregunta ya tiene una respuesta aquí:

Metodos en objetos ES6: uso de funciones de flecha 4 respuestas

Primero probé esto -

const profile = {
    name: 'Alex',
    getName: function(){
      return this.name;
    }
};

Que funciona bien. Ahora intenté lo mismo con la flecha gorda. En ese caso, "esto" viene indefinido.

const profile = {
    name: 'Alex',
    getName: () => {
      return this.name;
    }
};

Esto me da un error

TypeError: no se puede leer la propiedad 'nombre' de undefined

Lo que aprendí fue que las sintaxis de flechas gruesas son mucho mejores para manejar "esto" implícito. Por favor, explique por qué sucede esto.

Respuestas a la pregunta(1)

Su respuesta a la pregunta