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 ✓.