~/questoes/programacao
Arrow functions são uma forma moderna de escrever funções em JavaScript com comportamento especial para o this. Diferente das funções tradicionais, as arrow functions herdam o this do local onde foram definidas, não do local onde são executadas.
Arrow functions herdam o this do contexto léxico (do escopo externo onde foram criadas), não possuem seu próprio this e não podem ter this vinculado dinamicamente. Isso as torna previsíveis e úteis em muitos cenários, especialmente com callbacks e métodos de objetos.
Arrow functions sim possuem this, mas ele não é seu próprio. Elas usam o this do escopo externo, então não causam erro. Essa confusão acontece porque arrow functions se comportam de forma diferente das funções regulares.
Arrow functions não têm sua própria instância de this. Elas não vinculam this dinamicamente como funções regulares fazem. O this delas é sempre herdado do contexto externo, não criado no momento da execução.
Arrow functions não vinculam this ao objeto global automaticamente. O this delas é determinado pelo escopo onde foram definidas. Se definida no escopo global, aí sim ela herda o this global, mas não é automático para todos os casos.
Esta é a resposta correta. Arrow functions herdam o this do contexto léxico onde foram definidas. Isso significa que o this é determinado no momento em que a função é criada, não quando ela é executada, oferecendo previsibilidade.