1
resposta

Resposta

o problema está na linha de comando if (senha = senhaDoSistema), onde um único sinal de "=" tem a função de atribuir, quando deveria ser "==" para comparação dos valores, com isso o correto seria: if (senha == senhaDoSistema)

1 resposta

Oi Júlio,

Excelente observação! 👍

Você identificou corretamente o problema no código.

O uso de um único igual (=) dentro da condição do if causa uma atribuição, e não uma comparação.

Isso faz com que a condição sempre avalie para true, pois o valor atribuído é considerado "truthy" em JavaScript.

A correção, como você apontou, é usar o operador de comparação de igualdade (==) ou, preferencialmente, o operador de igualdade estrita (===), que também compara os tipos de dados.

if (senha === senhaDoSistema) {
  // Código a ser executado se as senhas forem iguais
}

O operador === é mais recomendado porque evita comportamentos inesperados causados por conversões de tipo implícitas do JavaScript.

🤓 Para saber mais: Operadores de comparação em JavaScript

Continue praticando e explorando os detalhes da linguagem.

Sua atenção aos detalhes é fundamental para se tornar um programador cada vez melhor! 💪