1
resposta

Eu segui este código do vídeo, mas ele não rodou como deveria.

Eu estava copiando e fazendo anotações e percebi que esse trecho do código, em particular, não executou como deveria. Alguém consegue identificar o erro?

const somaNumerosPequenos = (num1, num2) => {
    if(num1 || num2 > 10){
        return "Somente números de 1 a 9";
    } else {
        return num1 + num2;
    }
}
1 resposta

Olá João, tudo bem?

Realmente esse código não vai funcionar como deveria, porque sempre vai entrar no if e retornar "Somente números de 1 a 9". Veja bem, como num1 sempre vai ter um valor, para o if só o fato de ter algum valor (desde que não seja False) significa que é true, com isso independente do valor de num2 ele vai entrar no if por ter um ou ali no parametro. O que está acontecendo basicamente é: if( true ou qualqueCoisa ), isso dentro do paramentro sempre será considerado como true. Para o código funcionar corretamente deveria ser:

const somaNumerosPequenos = (num1, num2) => {
    if((num1 > 0 && num1 < 10) && (num2 > 0 && num2 < 10)){
        return num1 + num2;
    } else {
        return "Somente números de 1 a 9";
    }
}

Algumas outras alterações no if deve ser feitas para ele avaliar se o num1 e num2 estão entre 0 e 9.

Bem observado, continue assim! Bons estudos!