Je vois souvent des code JavaScript qui vérifie les paramètres non définis etc. de cette façon:
if (typeof input !== "undefined") {
// do stuff
}
Ce qui semble sorte de gaspillage, car il implique à la fois un type de recherche et de comparaison de chaînes de caractères, sans parler de son niveau de verbosité. C'est nécessaire parce que 'undefined' pourrait être renommé. Ma question est: Comment est-ce que le code de mieux que cette approche:
if (null != input) {
// do stuff
}
Autant que je sache, vous ne pouvez pas redéfinir la valeur null, alors ça ne va pas casser de façon inattendue. Et, en raison de la contrainte de type de l' != l'opérateur, celui-ci vérifie pour les deux indéfini et nul... ce qui est souvent exactement ce que vous voulez (par exemple pour l'option paramètres de la fonction). Mais cette forme ne semble pas très répandue, et il provoque même JSLint à hurler à vous pour l'aide de la mal != de l'opérateur. Pourquoi est-ce considéré comme de mauvais goût?