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

função com return

Opa, boa noite, não entendi o motivo de ele ter usado esse return, re-assisti o video e continuei sem entende, alguem poderia me esclarecer qual o motivo do return e qual a vantagem?

function voltaPosicaoInicialDoCarro(){
    for(let i = 0; i < imagemCarros.length; i = i + 1){
        if(passouTodaATela(xCarros[i])){
                xCarros[i] = 600;
        }
    }
}

function passouTodaATela(xCarro){
    return xCarro < - 50;
}

Desde já agradeço

2 respostas
solução!

Oi Nilton, tudo bem?

Essa função passouTodaATela() retorna um true (verdadeiro) ou false (falso). A gente sabe que retorna um true/falso pois existe um operador de comparação (que é o sinal de maior/menor). Então no caso, se a posição X do carro for menor que -50, ele retorna verdadeiro. E caso for maior que -50, ele retorna falso.

Agora, nós colocamos essa função dentro da condicional (if) do nosso loop (for). Ou seja, se a função passouTodaATela(xCarros[i]) retornar verdadeiro, se a posição X do carro for menor que -50, ele entra na condicional e faz o xCarros[i] = 600. Caso for falsa, ele não entra na condicional.

Por isso nós utilizamos o return, para retornar um valor de verdadeiro ou falso nessa função. Se você quisesse, você poderia fazer dessa forma:

function voltaPosicaoInicialDoCarro(){
    for(let i = 0; i < imagemCarros.length; i = i + 1){
        if(xCarros[i] < -50){
              xCarros[i] = 600;
        }
    }
}

Assim, você não precisaria usar a função passouTodaATela(). Mas o professor usa essa função para maior legibilidade e organização do código, então fica como recomendação =)

Espero ter ajudado, bons estudos!

Obrigado Giovanna!