Est-il considéré comme mauvais de vérifier explicitement la présence du booléen true. Serait-il préférable de faire un simple if(success)
?
J'ai vu plusieurs plaisanteries sur la façon dont les if (someBoolean === true)
est un code horrible dans un langage fortement typé, mais est-il également considéré comme mauvais dans les langages faiblement typés ?
Cela s'applique à tout langage faiblement typé qui effectue une coercion de type sur une instruction if.
Un exemple spécifique serait :
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);
[Editer]
Dans ce cas particulier, la variable de succès est tout JSON valide renvoyé par un serveur. Il peut donc s'agir de n'importe quoi. S'il s'agit du booléen true, le succès est au rendez-vous. Si c'est un objet de gestion d'erreur, il sera traité. S'il s'agit d'un autre objet, il sera probablement traité discrètement.
La question était de savoir si le fait de renvoyer le serveur true
en tant que JSON et de vérifier s'il existe une bonne façon de gérer le cas où l'action a réussi.
Je voulais cependant éviter d'être spécifique à JavaScript et AJAX.