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.

Comentários

Postagens mais visitadas deste blog

Selenium + Firefox = The type initializer for 'System.IO.Compression.ZipStorer' threw an exception

Transmissor sem fio bluetooth Tomate MTB-803 e manual

(resolvido) Visual Studio 2017 não consegue executar comandos em repositórios git do BitBucket