Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

"Aero" function javascript?

Estou fazendo o curso de formação React,

https://cursos.alura.com.br/formacao-react-js

Terminei as partes 1 , 3 e 4, onde passei por Javascript e React, estou na parte de API Javscript, na parte 05 "Criando Loop"

https://cursos.alura.com.br/course/api-rest-javascript/task/68877

O professor Felipe Nascimento do nada diz que vai utilizar uma função "Aero" function... fiquei me perguntando o que ele quis dizer, procurei no Google e achei, ele falou foi "Arrow function" ... certo, mas o que é isso?

Estou na formação React e todas as 6h de curso que fiz ninguém fala isso, passei pelo horas no curso de "Novas features do JavaScript" e não é falado disso..

Porque diabos o professor inventou de fazer desse modo que não foi apresentado em LUGAR algum nas outras horas de curso? Do nada ele puxou esse tipo de função?

E agora? Vou concluir a formação sem conhecer isto?

Ajuda aí Alura....

3 respostas

Oi, Saulo, tudo bem?

Não sei qual sequência exatamente dos curso da formação React você fez, o curso de Fetch API vem antes dos cursos de React justamente para introduzir esses conceitos que serão usados nos cursos de React.

A arrow function em Javascript é uma nova forma de criar funções a partir do Ecmascript 6.

Nesse primeiro exemplo, temos uma das formas tradicionais de declarar funções em JS:

const circleAreaES5 = function circleArea(r){ 
    let PI = 3.14; 
    let area = PI  * r * r;
    return area;
}
console.log(circleAreaES5(2))

Já nesse segundo exemplo, é a uma forma de declarar funções com o Ecmascript 6 de forma menos verbosa:

const circleAreaES6 = r =>{ 
    const PI = 3.14;
    const area = PI * r * r;
    return area
}

console.log(circleAreaES6(3))

A principal diferença entre os exemplos, é que podemos omitir a palavra function utilizando uma arrow functions

Se caso a função tenha uma única instrução, podemos ainda mais reduzir a sintaxe, omitindo não só as chaves, como a palavra reservada return, ficando assim:

const circleArea = r = 3.14 * r * r
console.log(circleArea(4))

Para saber mais sobre o conceito de arrow functions: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Functions/Arrow_functions

Se ficou alguma dúvida, é só falar!

Laís, obrigado

Entendo a ordem, mas é dela mesmo que estou falando, o professor Felipe Nascimento do nada usou algo em que nos cursos anteriores não foi passado ou informado pelo professor Ricardo Bugan

Ele foi basicamente CONTRA TUDO o que foi dito pelo Ricardo, o Ricardo ensinou uma coisa e no Felipe vai lá e DO NADA entra com Arrow Functions, DO NADA! E a gente não aprendeu isso nas mais de 30 horas de curso anteriores...

Acho que seria legal em algum momento ter uma aula sobre isso

Gostei de sua explicação sobre Arrow functions, mas tudo que você falou aí gente encontra na documentação... só que não estou interessado na documentação, eu estou pagando o curso pelo curso, para ter um professor detalhando e ensinando, certo?

Foi tão errado o que aconteceu que já perguntaram aqui no fórum mesmo o porque dessa diferença

Eu me senti perdido e feito de idiota. Vou aguardar uma resposta oficial da Alura sobre o caso

solução

Oi Saulo, tudo bom?

Me desculpe se a ordem dos cursos da formação deu essa quebra no conhecimento. Quando planejamos essa formação pensamos que o aluno já conheceria JS como linguagem então as diferenças entres classes, functions e arrow functions era algo que consideramos que o aluno já saberia.

De qualquer forma vou adicionar esse artigo na formação para deixar claro o que são as arrow functions

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