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

Dúvida relacionada a passagem de parâmetros

Estou com uma dúvida ainda.

Quando vamos escrever uma função, geralmente mandamos explicitamente os parâmetros para elas.

Nesse caso, quando chamamos a split, não entendo como passamos o retorno da toUpperCase pra ela. Isso 'foge' um pouco do fluxo normal da chamada de funções, certo? Como isso funciona?

const trim = text => text.trim();
const toUpperCase = text => text.toUpperCase();
const split = separator => text => text.split(separator);

const words = 
  split(' ')(toUpperCase(trim(' Alura Cursos ')));

console.log(words);

Se fosse executar cada chamada separadamente, ficaria dessa forma?

const trim = text => text.trim();
const toUpperCase = text => text.toUpperCase();
const split = separator => text => text.split(separator);

const trimmedWord = trim('Alura Cursos');
const upperCaseWord = toUpperCase(trimmedWord);
const splittedWord = split(' ', upperCaseWord);

console.log(splittedWord);

Obrigado pessoal!

4 respostas

Humm, acho que entendi.

A questão aqui é que quando fazemos isso

const split = separator => text => text.split(separator);

estamos retornando uma function, certo? É a mesma coisa que fazermos

const split = separator => {
    function anotherSplit(text) {
        return text.split(separator);
    }

    return anotherSplit;
}

Como o que está sendo retornado é uma function, é possível fazer as chamadas 'encadeadas', split(" ")("Alura Cursos").

Está correto meu entendimento?

solução!

Fala ai Andre, tudo bem? É isso mesmo.

Se quiser, dá uma olhada nesse artigo: https://blog.matheuscastiglioni.com.br/desconstruindo-a-web-pilha-de-execucao-do-javascript/

Nele eu falo um pouco sobre essa pilha de execução dos navegadores.

Onde o retorno de uma função pode ser passada para parâmetros de outra função e coisas assim.

Espero ter ajudado.

Show de bola! Valeu demais, Matheus!

Magina Andre, sempre que precisar não deixe de criar suas dúvidas.

Abraços e bons estudos.

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