Javascript :: quando a expressão true == true retorna false
Recentemente precisei fazer uma validação de valor boolean vindo de um request Ajax.
A lógica seria mais ou menos:
// retornoRequest.Campo tinha o valor "true" (via debug e console).
if (retornoRequest.Campo == "true")
{
"faça"
}
Mas essa verificação estava dando falso por algum motivo.
Mesmo comparar com === "true" também.
Então a solução:
if (retornoRequest.Campo.toString() == "true")
{
"faça"
}
Somente aplicando forçadamente a conversão para string que foi possível usar o valor real da expressão, estranhamente pois pelo visual os valores eram iguais. Não avaliei o tipo, mas certamente estava nisso o problema.
A lógica seria mais ou menos:
// retornoRequest.Campo tinha o valor "true" (via debug e console).
if (retornoRequest.Campo == "true")
{
"faça"
}
Mas essa verificação estava dando falso por algum motivo.
Mesmo comparar com === "true" também.
Então a solução:
if (retornoRequest.Campo.toString() == "true")
{
"faça"
}
Somente aplicando forçadamente a conversão para string que foi possível usar o valor real da expressão, estranhamente pois pelo visual os valores eram iguais. Não avaliei o tipo, mas certamente estava nisso o problema.
Comentários
Postar um comentário