Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Condição == só aceita números?

Ao abrir o programa desse código abaixo no google chrome apareceu o seguinte erro: blue is not defined.

Eu acredito que isso aconteça por que a condição == somente funciona com números, pois ao substituir blue por 123 o código funcionou perfeitamente.

Sendo assim, nenhuma das 3 opções apresentadas no exercício seriam válidas. Como eu faço a condição == aceitar palavras também?

<meta charset = UFT-8>

<script>

    var senha = prompt ("Digite sua senha");

    if (senha == blue) {
        alert("Acesso liberado! ");

}     else{

        alert ("Acesso Negado!");
}
</script>
2 respostas
solução!

Olá, Camila, tudo bem? Espero que sim!

Então, quanto a sua pergunta se == só pode ser utilizados para números, a repostas é não. O == pode ser usado como comparativo entre strings também.

Analisando o seu código, encontrei o que está ocasionado o erro.

Você escreveu:

if (senha == blue) {

Quando o certo deveria ser :

if (senha == "blue") {

O blue deve estar entre " " por se tratar de uma string e não um número.

Espero ter ajudado!

Eu mesma perguntei e eu mesma me respondo. O erro está acontecendo por que blue não está entre aspas.

Sem as aspas, o navegador vai ler o Blue e não vai achar um número, causando um erro.

if (senha == blue)

Já com o blue entre aspas ele o reconhece como texto, logo, funcionando perfeitamente.

if (senha == "blue")

Edit- Obrigado, Adriano. Digitamos a resposta ao mesmo tempo!

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