Boa tarde!!
Fiquei em duvida nas seguintes linhas de código:
botaoTirarFoto.addEventListener("click", function() {
})
e
botaoEnviarFoto.addEventListener("click", () => {
})
Qual seria a diferença entre usar function() e =>?
Boa tarde!!
Fiquei em duvida nas seguintes linhas de código:
botaoTirarFoto.addEventListener("click", function() {
})
e
botaoEnviarFoto.addEventListener("click", () => {
})
Qual seria a diferença entre usar function() e =>?
Olá, Heloisa!
As duas formas de escrever funções que você mencionou, function()
e () =>
, são conhecidas como função tradicional e função de seta (ou arrow function), respectivamente.
A principal diferença entre as funções tradicionais e as arrow functions está no comportamento do this
. Nas funções tradicionais, o this
é dinâmico, ou seja, seu valor é determinado pelo contexto de como a função é chamada. Já nas arrow functions, o this
é léxico, ou seja, seu valor é determinado pelo contexto onde a função foi escrita. Compreendo que essa distinção possa parecer complexa, dificultando a compreensão das diferenças entre elas. Por isso, recomendo a leitura do seguinte artigo e da documentação sobre funções, que se aprofunda bastante no assunto, e vai lhe ajudar a fixar o conhecimento.
Espero ter ajudado e reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!
Sucesso ✨
Um grande abraço e até mais!