1
resposta

[Dúvida] Atividade - encontre o Bug

na última atividade onde tivemos que encontrarno bug o erro estava no operador utilizado no if, onde, no lugar de comparação, ele atribuiu um valor a variável senha. Porém, indo mais além, queria saber se, mesmo realizando essa correção o código iria funcionar perfeitamente, pois ele não atribuiu nenhum valor de senha.

Mesmo assim daria "acesso garantido", correto?

obs: sei que esse não foi o foco da atividade

let senhaDoSistema = "senhaTeste!";

let senha = prompt("Digite a senha do sistema:");

if (senha = senhaDoSistema){
alert("Acesso ao sistema garantido");
}

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Olá Vivianne! Como vai?

Você está absolutamente certa em sua observação sobre o operador de atribuição no if. No seu código, o if (senha = senhaDoSistema) está atribuindo o valor de senhaDoSistema à variável senha, em vez de compará-los. Para corrigir isso, você deve usar o operador de comparação ===, assim: if (senha === senhaDoSistema).

Agora, sobre a sua dúvida se o código funcionaria mesmo sem atribuir um valor inicial à variável senha, a resposta é que o código ainda pode funcionar, mas com uma condição específica. Quando você usa prompt(), ele solicita ao usuário que insira um valor, e esse valor é atribuído à variável senha. Portanto, mesmo que senha não tenha um valor inicial, ela receberá um valor quando o usuário digitar algo no prompt.

No entanto, é importante lembrar que se o usuário não digitar nada e apenas apertar "OK", a variável senha receberá uma string vazia "". Nesse caso, o código não funcionaria como esperado, pois "" não é igual a senhaDoSistema.

Aqui está o código corrigido:

let senhaDoSistema = "senhaTeste!";

let senha = prompt("Digite a senha do sistema:");

if (senha === senhaDoSistema) {
    alert("Acesso ao sistema garantido");
} else {
    alert("Acesso negado");
}

Com essa correção, o código verifica corretamente se a senha digitada pelo usuário é igual à senha do sistema e responde de acordo.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.