3
respostas

Não consegui entender como o if pegou uma string " S" e transformou em " valor

3 respostas

O If recebe o resultado de uma operação lógica dentro de seus parênteses certo? Ao colocarmos: "if(idade > 18 && temCarteira == S) { mostra("Pode dirigir"); }" o programa entende que: "idade > 18" e "temCarteira == S" se tratam de condições, ou seja, podem ser verdadeiras ou falsas, 0 ou 1.. Não depende de ser string ou não.. a variável temCarteira recebe como "resposta" S ou N (verdadeiro ou falso) e quando o usuário digita S, já que no if declaramos que se "temCarteira == S", isso se torna verdade, ou seja, uma condição para ele dirigir está verdadeira, basta ver a idade agora.. se a idade for > que 18 (se for verdadeiro) o usuário pode dirigir.. Estou aprendendo também então talvez a minha explicação ficou confusa.. mas espero ter ajudado. Vou deixar meu código aqui embaixo pra você!

<meta charset="UTF-8">

<script>
    function pulaLinha() {
        document.write("<br>");
    }

    function mostra(frase) {
        document.write(frase);
        pulaLinha();
    }

    var idade = parseInt(prompt("Qual é sua idade?"));
    var temCarteira = prompt("Tem carteira? Responda S ou N");

    if(idade > 18 && temCarteira == S) {
        mostra("Pode dirigir");
    } else{
        mostra("Não pode dirigir");
    }

</script>

isso eu entendo, so fiquei um pouco confuso se tipo. eu usasse o " carteira" como parametro exemplo : if ( idade > 18 && temCarteira = carteira); isso não iria funcionar.