Oi, Turi, tudo bem?
Desculpe a demora em te responder!
As funções de seta não possuem seu próprio escopo de variáveis. Isso significa que elas não criam um novo contexto de variáveis quando são definidas, mas em vez disso, herdam o escopo de variáveis do contexto em que são criadas. Já as funções regulares em JavaScript têm seu próprio escopo, o que significa que as variáveis declaradas em uma função regular não são acessíveis fora dela.
As funções de seta também não têm seus próprios objetos this
e arguments
. Elas herdam o valor de this
do contexto em que foram criadas e não possuem um objeto arguments
, mas o que significas objetos this
e arguments
? O this
se refere ao contexto de execução da função no momento em que a função é chamada, enquanto o arguments
é uma variável implícita disponível dentro de funções em JavaScript. Ele representa os argumentos passados para a função quando ela é chamada.
Exemplo do this
:
const myObject = {
value: 42,
getValue: function() {
console.log(this.value); // "this" se refere a myObject
},
};
myObject.getValue();
Exemplo do arguments
:
function exampleFunction() {
console.log(arguments.length); // Mostra o número de argumentos passados
console.log(arguments[0]); // Acessa o primeiro argumento
console.log(arguments[1]); // Acessa o segundo argumento
}
exampleFunction(10, "Hello");
Por fim, funções de seta não podem ser usadas como construtores e não podem ser chamadas com o operador new
, ou seja, essas função não pode ser chamada com o operador new para criar novas instâncias de objetos.
Caso queira aprender mais sobre funções de seta e as diferenças entre elas e as funções regulares, você pode se aprofundar nos estudos sobre JavaScript.
Espero ter ajudado. Caso tenha dúvidas, crie um novo tópico no fórum para que eu possa te ajudar de forma mais assertiva. Abraços!