1
resposta

[Dúvida] Ordem das Funções

Boa noite ! Estou com uma dúvida, no JS não importa a ordem em que criamos/ definimos uma função ? Por exemplo, seguindo as aulas fazemos todos os processos para a BOLINHA e só em seguida fazemos para as RAQUETES, mas na hora de rodar tudo acontece ao mesmo tempo ?

Em outras linguagem isso é comum ? Eu estava vendo algo similar no python e tinha diferença, por que ? Algo de ser uma linguagem interpretada ou compilada, é isso ?

1 resposta

Olá, Ruan! Tudo certo?

Peço desculpas pela demora no retorno.

Isso não é um comportamento tão comum em outras linguagens e tem a ver com um conceito no JavaScript chamado hoisting. Basicamente, o hoisting (ou içar, em português) permite que você execute funções antes das suas declarações, porque, conceitualmente, em tempo de execução o JavaScript irá içar/elevar as declarações de variáveis e funções para o topo do código (por baixo dos panos é um pouco diferente).

Quando um código JavaScript é executado, é verificado se todas as chamadas de funções tem as funções respectivas, não importando a parte do arquivo onde elas estão declaradas.

Então, se escrevermos:

function cumprimenta(nome) {
  console.log("Olá " + nome);
}

cumprimenta("Ruan");

Ou escrevermos:

cumprimenta("Ruan");

function cumprimenta(nome) {
  console.log("Olá " + nome);
}

Teremos o mesmo resultado!

Eu sugiro fortemente que dê uma lida neste artigo sobre hoisting e nesta documentação para entender melhor como usar dessa característica do JavaScript.

Caso tenha ficado com alguma dúvida, não deixe de compartilhar!

Continue praticando e evoluindo na sua jornada.

Bons estudos e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!