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.

questionAnswers(7)

yourAnswerToTheQuestion