Partager via


Valeurs non définies

Mise à jour : novembre 2007

Dans JScript, vous pouvez déclarer une variable sans lui assigner une valeur. Une variable qui a fait l'objet d'une annotation de type, prend la valeur par défaut de ce type. Ainsi, la valeur par défaut du type numérique est zéro et la valeur par défaut du type de données String est la chaîne vide. Toutefois, une variable sans type de données spécifié a une valeur initiale undefined et un type de données undefined. De la même façon, le code qui accède à une propriété d'objet expando ou à un élément de tableau qui n'existe pas retourne la valeur undefined.

Utilisation de valeurs non définies

Pour déterminer si une variable ou une propriété d'objet existe, comparez-la au mot clé undefined (qui fonctionne uniquement pour une propriété ou une variable déclarée) ou vérifiez si son type est « undefined » (qui fonctionne même pour une variable ou une propriété non déclarée). Dans l'exemple de code suivant, supposons que le programmeur souhaite vérifier si la variable x a été déclarée :

// One method to test if an identifier (x) is undefined.
// This will always work, even if x has not been declared.
if (typeof(x) == "undefined"){
   // Do something.
}
// Another method to test if an identifier (x) is undefined.
// This gives a compile-time error if x is not declared.
if (x == undefined){
   // Do something.
}

Pour savoir si une variable ou une propriété d'objet est non définie, une autre solution consiste à comparer la valeur à null. Une variable contenant null ne contient « aucune valeur » ni « aucun objet ». En d'autres termes, elle ne contient aucun nombre, chaîne, valeur booléenne, tableau ou objet valide. Pour effacer le contenu d'une variable (sans supprimer la variable elle-même), vous pouvez lui assigner la valeur null. Notez que les valeurs undefined et null sont considérées comme égales lorsqu'elles sont comparées avec l'opérateur d'égalité (==).

Remarque :

Dans JScript, null ne correspond pas à 0 lorsque vous le comparez avec l'opérateur d'égalité. Ce comportement est différent d'autres langages tels que C et C++.

Dans cet exemple, l'objet obj est testé pour voir s'il possède la propriété prop.

// A third method to test if an identifier (obj.prop) is undefined.
if (obj.prop == null){
   // Do something.
}

Cette comparaison donne comme résultat la valeur true

  • si la propriété obj.prop contient la valeur null

  • si la propriété obj.prop n'existe pas

Il existe une autre méthode pour vérifier si la propriété d'un objet existe. L'opérateur in retourne la valeur true si la propriété spécifiée figure dans l'objet fourni. L'exemple de code suivant effectue un test sur true pour voir si la propriété prop figure dans l'objet obj.

if ("prop" in someObject)
// someObject has the property 'prop'

Pour supprimer une propriété d'un objet, utilisez l'opérateur delete.

Voir aussi

Référence

null, littéral

undefined, propriété

in, opérateur

delete, opérateur

Autres ressources

Variables et constantes JScript

Données JScript

Types de données JScript

Types de données (JScript)