Je vois souvent du code JavaScript qui vérifie les paramètres non définis, etc. de cette façon:
if (typeof input !== "undefined") {
// do stuff
}
Cela semble un peu inutile, car cela implique à la fois une recherche de type et une comparaison de chaînes, sans parler de sa verbosité. Il est nécessaire car il undefined
pourrait être renommé.
Ma question est:
comment ce code est-il meilleur que cette approche:
if (null != input) {
// do stuff
}
Pour autant que je sache, vous ne pouvez pas redéfinir null
, donc ça ne va pas se casser de façon inattendue. Et, en raison de la coercition de type de l' !=
opérateur, cela vérifie les deux undefined
et null
... qui est souvent exactement ce que vous voulez (par exemple pour les paramètres de fonction facultatifs).
Pourtant, ce formulaire ne semble pas répandu, et il fait même que JSLint vous crie pour avoir utilisé l' !=
opérateur maléfique .
Pourquoi est-ce considéré comme un mauvais style?
if (null != input)
est seulement "Yoda Speak" pour le locuteur anglais (De celui que je suis .... uuammmmm) donc s'ils équivalent à la même chose c'est vraiment juste de la sémantique. A MON HUMBLE AVIS.