1
resposta

Dúvida while

No código é declarado a variável resultado sem nenhum valor e a variável exp com uma expressão regular e em seguida vem o while. A parte que não entendi foi resultado = exp.exec(palavraSecreta).

Eu sei que a expressão regular vai busca na variável palavraSecreta (que é o alvo) o caractere digitado na variável chute, mas não entendo essa comparação resultado = exp.exec(palavraSecreta)

Alguém poderia explicar essa parte do código?

    var processaChute = function(chute) {
        var exp = new RegExp(chute, 'gi'),
        acertou = false,
        resultado;

        while (resultado = exp.exec(palavraSecreta)) {
            lacunas[resultado.index] = chute;
            acertou = true;
        }

        if (!acertou) {
            sprite.proximoFrame();
        }
    };
1 resposta

Gleison, bom dia!

A comparação ocorre porque se ele não encontrar nada o retorno será null, e a operação lógica vai ser que null = false, então não irá entrar no loop.

Já se existir ele vai retornar a letra, que é diferente de null, sendo assim verdadeiro. Aí ele executa o código

Espero ter ajudado 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