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?
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?
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:
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
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
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.