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.