Foi dito em outra aula que o JS lê o código linha por linha.
Dessa maneira, como o código funciona, sendo que o instrutor chama as funções no começo e só as declara no final?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Foi dito em outra aula que o JS lê o código linha por linha.
Dessa maneira, como o código funciona, sendo que o instrutor chama as funções no começo e só as declara no final?
Fala ai Lucas, tudo bem? Para isso você precisa entender um mecanismo chamado hoisting do JavaScript.
Dá uma olhada nesse artigo: https://blog.matheuscastiglioni.com.br/porque-variaveis-funcoes-podem-ser-acessadas-antes-da-declaracao/
Acho que pode te ajudar.
Espero ter ajudado.
Resumindo o que instrutor Matheus apresentou (recomendo que leia o artigo mesmo assim:
No JavaScript as declarações possuem uma espécie de hierarquia... declarações de funções por exemplo serão sempre passadas para topo através do hoisting (que significa literalmente "elevação").
Como o hierarquia do uso da função é menor que a da declaração. Quando você executa o código, o uso da função vai para baixo da seu sua declaração, então é como se você tivesse declarado primeiro e usado depois, não interfere.
Eu prefiro mesmo com esse mecanismo interno do JavaScript declarar primeiro e usar depois, mas saiba que na execução o oposto não fará diferença.