A verificação da verdadeira explicidade é ruim por design?
É considerado ruim verificar explicitamente o valor booleano true. Seria melhor fazer uma simplesif(success)
?
Eu já vi várias piadas feitas sobre comoif (someBoolean === true)
é um código horrível em uma linguagem fortemente tipada, mas também é considerado ruim em linguagens fracamente tipadas?
Isso se aplica a qualquer linguagem de tipo fraco que digita coerção em uma instrução if.
Um exemplo específico seria:
var onSuccess = function (JSONfromServer) {
// explicitly check for the boolean value `true`
if (JSONfromServer === true) {
// do some things
}
}
// pass it to an ajax as a callback
doSomeAjax(onSuccess);
[Editar]
Nesse caso específico, a variável success é qualquer JSON válido retornado de um servidor. Então poderia ser qualquer coisa. se for o booleano verdadeiro, então um sucesso aconteceu. Se houver algum objeto de manipulação de erro, ele será tratado. Se for algo mais, provavelmente será tratado silenciosamente.
A questão era obter o servidor para retornartrue
como JSON e procurando uma boa maneira de lidar com o caso em que a ação foi bem-sucedida.
Eu queria evitar ser específico para JavaScript e AJAX.