J'ai peut-être raté quelque chose, mais autant que je sache, vous bénéficiez d' undefined
seulement
Mise à jour: Ok, j'ai raté beaucoup de choses, en essayant de terminer:
Vous obtenez undefined
...
... lorsque vous essayez d'accéder aux propriétés d'un objet qui n'existe pas:
var a = {}
a.foo // undefined
... quand vous avez déclaré une variable, mais n'est pas initialisé, il:
var a;
// a is undefined
... lorsque vous accédez à un paramètre pour lequel aucune valeur n'a été adoptée:
function foo (a, b) {
// something
}
foo(42); // b inside foo is undefined
... lorsqu'une fonction ne retourne pas de valeur:
function foo() {};
var a = foo(); // a is undefined
Il se peut que certaines fonctions intégrées de retour null
sur une erreur, mais si oui, alors il est documenté. null
est une valeur concrète en JavaScript, undefined
ne l'est pas.
Normalement, vous n'avez pas besoin de distinguer entre ceux-ci. Selon les valeurs possibles d'une variable, il suffit d'utiliser if(variable)
pour tester si une valeur est définie ou non (à la fois, null
et undefined
évaluer à l' false
).
Aussi différents navigateurs semblent être de retour ces différemment.
Veuillez donner un exemple concret.