Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

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;
    }
}

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
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!