2
respostas

[Bug] Erro no if()

Boa tarde,

No exercício 1, o erro está na "sobrescrita" da variável, pois desta forma que o código está escrito, a senha sempre será verdadeira e o usuário acessará o sistema, pois ao invés do if() estar pondo uma condição de teste, a escrita do if() esta atribuindo a variável o mesmo texto de acesso ao programa.

Onde esta o erro?

if (senha = senhaDoSistema){ //Nesta linha o resultado de acesso ao sistema esta sendo atribuido a variável senha.
alert("Acesso ao sistema garantido");
}

2 respostas

o erro está nessa parte if (senha = senhaDoSistema)

quando colocamos apenas um sinal de '=' a gente atribui o valor da variável da esquerda na variável da direita, o caso o correto seria
if (senha == senhaDoSistema) pois assim ele compara o valor das duas variáveis ou até mesmo if(senha === senhaDoSistema) dessa forma compara se os valores e os tipos são iguais.

Correto. Para que o java consiga comparar as variaveis armazenadas ele tera que saber que queremos comparar e com isso precisamos atribuir os dois sinais de iguais. E quando colocamos 3 sinais de iguais estamos indicando ao java que a variavel imputada precisa ser igual e do mesmo tipo.
(=) atribuicao da variavel
(==) igual
(===) estritamente igual