Não sei se pulei alguma explicação, mas voltei e não vi esclarecimento de porque a função começa com esses códigos: (() =>{
Entendi que isso representa uma função, mas não ficou claro o motivo. Consigo alguma ajuda em entender isso?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Não sei se pulei alguma explicação, mas voltei e não vi esclarecimento de porque a função começa com esses códigos: (() =>{
Entendi que isso representa uma função, mas não ficou claro o motivo. Consigo alguma ajuda em entender isso?
Olá, Rafael! Como vai?
Chamamos essa estrutura de arrow function, que no inglês significa "função de flecha" (por causa do =>).
Basicamente, temos a seguinte estrutura:
() => {}
Os () você já viu em funções normais, são os parênteses que recebem os parâmetros. Os {} também são familiares, é o corpo da função. Já o => é apenas parte da estrutura. Quando a função apenas retorna um dado, como por exemplo:
function retornaDado() {
return true;
}
Podemos fazer da seguinte maneira:
() => true;
Dessa forma a flecha "aponta" para o retorno da função. Acredito que esse é o caso em que esse símbolo fica mais claro.
Mas é isso, é apenas uma forma mais eficiente de escrever uma função. Como não temos um lugar para nomeá-la, é preciso atribuir ela a uma constante, ou passar via parâmetro.
const funcao = () => true;
// ou
function recebeFuncao(umaFuncao) { ... }
recebeFuncao(() => true); // dentro de recebeFuncao ela pode ser referenciada como umaFuncao
Se quiser saber mais, pode encontrar no MDN: Arrow functions
Qualquer dúvida é só falar, bons estudos!