Comment vérifier si la propriété d'un objet est indéfinie (undefined) en JavaScript ?

En JavaScript, une variable possède la valeur undefined si elle n'a pas encore eu de valeur d'assignée.

En JavaScript, une variable possède la valeur undefined si elle n'a pas encore eu de valeur d'assignée. Exemple de valeur non définie :

var maVariable;
alert(maVariable); //Le texte undefined s'affichera à l'écran, car la variable est non définie.

Il paraît facile de tester si une variable est non définie, mais il y a en fait une faille dans JavaScript à connaître : le mot undefined n'est pas un mot-clé du langage. Il est donc possible de nommer une variable undefined, puis de lui attribuer une valeur. Exemple :

var undefined = toto; //Cette déclaration n'est pas fausse, contrairement à ce que l'on pourrait croire.
if(maVariable === undefined) {
 alert(Vous avez été trompés!);
}

Pour éviter ce piège, il faut utiliser le mot-clé typeof, qui affiche le type de la variable qui le suit. On peut alors comparer ce type avec le mot undefined et savoir ainsi si cette variable est non définie.

if(typeof maVariable === undefined) {
alert(La variable maVariable n'est pas définie);
}

JavaScript