1
resposta

[Dúvida] Utilização do return

Bem, assisti a aula alguma vezes mas ainda não sei se entendi a utilização da função return junto com o for

function voltaPosicaoInicialDoCarro(){
    for(let i = 0; i < imagemCarros.length; i = i + 1){
        if(passouTodaATela(xCarros[i])){ //utiliza o valor true para executar o bloco abaixo. Caso a afirmativa fosse falsa, não funcionaria. 
                xCarros[i] = 600;
        }
    }
}

function passouTodaATela(xCarro){
    return xCarro < - 50; //gera o valor true para quando eu chamar a função 
}

Pelo que pude interpretar, o comando return vai "gerar" o valor true para quando eu chamar a função passouTodaATela() com o parâmetro xCarros. Eu gero este valor realizando a verificação xCarros < -50. O valor de xCarros vai variar dependendo do índice i Feita esta verificação, eu "volto" para a função voltaPosicaoInicialDoCarro() e, se verdadeiro o valor retornado por passouTodaATela(xCarros[i]), ele vai executar o bloco xCarros[i] = 600, fazendo o carro voltar para a posição 600. Nós utilizamos o dado true para fazer o comando if funcionar, pois a condição estabelecida precisa ser true?

Resumindo, não tenho certeza se é isso mesmo, pois achei MUUUITO entender quando eu preciso escrever xCarros ou xCarros[i] no código. Alguém consegue me ajudar?

1 resposta

Opa tudo bem? O for ultilizamos para percorrer uma lista, então na instrução for, está percorrendo uma lista que no caso seria essa imagemCarros.length;, aqui está pegando a quantidade atraves do length e percorrendo até que a sua condição i seja < que esse imagemCarros.length;, e dentro do for vai ter uma validação usando o if, nesse caso sempre ira cair no if, então ira passar por essa validação sempre que iniciar o for, a função return, quer dizer que sua função ira ter um retorno, que nesse caso o retorno é o valor do xCarro - 50.

Temos funções que podem ter a return ou não, depende muito da ocasião, é normal ter função com return.