¿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 respuestasPrimero 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.