Como difere o uso de funções de seta das funções padrão em JavaScript?
sobes.tech IA
Resposta da IA
As funções de seta em JavaScript diferem das funções padrão em vários aspetos-chave:
-
Contexto
this: Nas funções de seta,thisé herdado lexicalmente do contexto circundante, ou seja, não cria o seu próprio contextothis. Nas funções normais,thisdepende de como a função é chamada. -
Ausência de
arguments: As funções de seta não têm o seu próprio objetoarguments. Para aceder aos argumentos, deve-se usar parâmetros ou variáveis externas. -
Não podem ser usadas como construtores: As funções de seta não podem ser chamadas com
new, pois não têm o método interno [[Construct]]. -
Sintaxe mais curta: As funções de seta são geralmente mais curtas e convenientes para escrever funções curtas.
Exemplo:
const obj = {
value: 10,
regularFunc: function() {
console.log(this.value); // 10
},
arrowFunc: () => {
console.log(this.value); // indefinido ou valor do contexto externo
}
};
obj.regularFunc(); // irá mostrar 10
obj.arrowFunc(); // irá mostrar undefined
Assim, a escolha entre uma função de seta e uma função normal depende da necessidade de gerir o contexto e das características do uso.