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)
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)
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! 💪