1
resposta

Resolução um pouco diferente

Olá, no If coloquei o + em vez do && e acabou dando certo, achei o meu codigo um pouco mais simples do que os apresentados e de todas as formas deu certo, pelo menos no exercicio proposto.

Segue o codigo

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeagradeço a opnião e avaliação de todos

1 resposta

Oi Kelvin

Uma pergunta importante: Você consegue explicar o que está acontecendo com seu código ?

Em muitos momentos no desenvolvimento deparamos com situações como esta, o código está rodando corretamente só que não sabemos o por quê.

O interpretador do javascript conseguiu entender o que foi escrito e transformou em um cenário possível.

Mas lembre-se que as linguagens de programação foram criadas para nós entendermos de maneira simples o que foi escrito e o que será executado, precisamos sempre deixar a linguagem mais compreensível pra outros desenvolvedores do que pra máquina.

O que está acontecendo ai é que o javascript entende que se você somar 2 boleanos a resposta será um inteiro:

(true + true) = 2
(true + false) = 1
(false + false) = 0

E dentro do if (idade < 18 + temCarteira != "s") ele retorna um boleano das comparações e depois soma. Todo número diferente de zero no if é true.

Trabalhe com a verificação condicional do AND ( && ) ou OR ( || ) para ficar mais fácil a leitura de outro desenvolvedor ou até mesmo saber que vai rodar da maneira esperada.

Parabéns pelo empenho nos estudos!

Continue praticando e qualquer dúvida pode contar com a gente.