1
resposta

Posso usar arrow function no lugar de function declaration?

Minha dúvida é a seguinte, sabendo que arrow functions tem comportamento de escopo diferente em comparação com funções normais, gostaria de saber se tem problema de utilizar uma arrow function no trecho do código onde o prof. usou function declaration: meu código:

functionalterarContexto (contexto) {
botoes.forEach((contexto) => {
    contexto.classList.remove('active')
    })
}

código do prof. :

functionalterarContexto(contexto) {
    botoes.forEach(function (contexto) {
        contexto.classList.remove('active')
    })
}
1 resposta

Não há problema em usar uma arrow function no lugar de uma função normal (function declaration) no trecho de código que o professor mostrou. As arrow functions e as funções normais têm diferenças no comportamento de escopo como vc já sabe, mas neste caso específico, a substituição não afetará o funcionamento do código.

A única diferença notável é que as arrow functions capturam automaticamente o valor do 'this' do contexto circundante, enquanto as funções normais têm seu próprio valor de 'this'. No entanto, no seu exemplo, parece que o 'this' não está sendo usado dentro da função, portanto, a substituição deve funcionar perfeitamente.

Portanto, seu código com a arrow function deve funcionar da mesma forma que o código do professor com a função normal. Ambos os trechos de código removerão a classe 'active' de elementos do array botoes.

se precisar de exemplos é só avisar.