Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Não entendi o motivo dessa atividade

Não lembro do professor dizer algo parecido nas aulas. Imagino que seja algo relevante mas por foi jogado avulsa no meio das atividades sem introdução ao assunto? Por que seria algo importante pra se comentar sobre isso?

2 respostas
solução!

Olá Hennan, tudo bem com você?

Irei passar para o pessoal da Alura em relação a essa questão, de fato dando uma olhada no curso não é bem comentado esse assunto

E esse assunto de funções como first-class-citizens são muito importantes, e estamos utilizando a todo momento, por exemplo, com os eventos de clique:

function pegaValorDoInput(evento){
    return evento.target.value;
}

botao.addEventListener('click', pegaValorDoInput)

Aqui podemos já notar esse poder, passamos uma função como um argumento da nossa função

Também temos uma flexibilidade enorme com isso:

function somar( valor1, valor2) {
    return valor1 + valor2;
}

function multiplicar(valor1, valor2){
    return valor1 * valor2
}

function calculadora( operacao, valor1, valor2){
    return operacao(valor1, valor2)
}

calculadora(somar, 3, 5);
calculadora(multiplicar, 3, 5);

Veja que a nossa função agora é muito mais dinâmica :)

Por que seria algo importante pra se comentar sobre isso?

Aqui eu acredito que tem 2 pontos:

  • É uma base bem forte do javascript

O fato de trazer essa versatilidade, faz com que tenha bastante aplicações, por exemplo para ordenar uma lista, precisamos passar uma função como argumento para definir a ordem

Também temos algumas outras funções que utilizam disso como o map, filter, reduce, find para trabalhar com lista de elementos

  • O react utiliza bastante

Então, mais para frente na parte de componentes funcionais, vamos ver algumas coisas chamadas hooks, e é bem comum alguns hooks nos devolver uma função para utilizar

const [ valor, setValor ] = useState(3)

Esse setValor é uma função que o hook do React nos da, incorporando isso também de função que retorna uma função

Acredito que tem alguns cursos que ao longo vao falando sobre isso:

A sequência de

  • Javascript: Conhecendo o browser e Padrões de Projeto
  • Javascript: Aprofundando em MVC, padrão Proxy e Factory,
  • Javascript: Guardando dados com o IndexedDB,

E principalmente o Javacript de Padrões a uma abordagem funcional

Vai passando com calma sobre cada um desses conceitos, mas se quiser uma pequena introduzida tem esse vídeo que ajuda bastante

De qualquer forma, vou pedir para eles fazerem uma revisão, pois talvez não faça tanto sentido nesse momento do curso essa pergunta :)

Abraços e Bons Estudos!

Agora ficou muito bem esclarecido. Eu já até mexia com first-class-citizens mas não fazia ideia que tinham uma denominação ou um tópico de estudo ou relevânci tão grande.

Obrigado pela ajuda.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software