Partager via


Déclaration de variables et de constantes JScript

Mise à jour : novembre 2007

Un programme JScript doit spécifier le nom de chaque variable que le programme utilisera. En outre, le programme peut indiquer le type de données stocké par chaque variable. Ces deux tâches sont réalisées avec l'instruction var.

Déclaration de constantes et de variables typées

Dans JScript, vous pouvez déclarer simultanément une variable et son type à l'aide de l'annotation de type. Dans l'exemple suivant, la variable count est déclarée avec le type int (entier). Dans la mesure où aucune valeur initiale n'est fournie, count possède la valeur par défaut du type int, en l'occurrence 0 (zéro).

var count : int; // An integer variable.

Vous pouvez également assigner une valeur initiale à une variable :

var count : int = 1; // An initialized integer variable.

Les constantes, qui sont déclarées pratiquement de la même façon que les variables, doivent être initialisées. Dès que la valeur d'une constante est définie, elle ne peut plus être modifiée. Par exemple :

const daysInWeek : int = 7;            // An integer constant.
const favoriteDay : String = "Friday"; // A string constant.
const maxDaysInMonth : int = 31, maxMonthsInYear : int = 12

Lorsque vous déclarez une variable d'un type spécifique, il va de soi que la valeur assignée doit se justifier pour ce type. Ainsi, cela n'a pas de sens d'assigner une valeur de chaîne de caractères à une variable de type entier. Cette action est susceptible de lever une exception TypeError indiquant une incompatibilité de type dans votre code. TypeError est l'un des types d'erreur ou d'exception qui peut se produire dans un script en cours d'exécution. Un bloc catch peut intercepter des exceptions levées par un programme JScript. Pour plus d'informations, consultez try...catch...finally, instruction.

Vous pouvez simultanément déclarer le type et la valeur initiale de plusieurs variables, même si le code est plus lisible lorsque chaque déclaration figure sur une ligne distincte. Ce segment de code, par exemple, est difficile à lire :

var count : int = 1; amount : int = 12, level : double = 5346.9009 

En revanche, celui-ci est plus lisible :

var count : int = 1;
var amount : int = 12;
var level : double = 5346.9009;

Toujours dans le cadre de la déclaration de plusieurs variables sur une seule ligne, il faut également savoir qu'une annotation de type ne s'applique qu'à la variable qui la précède directement. Dans le code suivant, x est du type Object parce qu'il s'agit du type par défaut et que x ne spécifie pas de type à la différence de y qui est de type int.

var x, y : int;

Déclaration de variables et de constantes non typées

Il n'est pas nécessaire d'utiliser des variables typées, mais les programmes qui utilisent des variables non typées sont plus lents et plus susceptibles de générer des erreurs.

L'exemple suivant déclare une seule variable appelée count.

var count;  // Declare a single declaration.

En l'absence d'un type de données spécifié, le type par défaut d'une variable ou d'une constante est Object. Si aucune valeur n'est assignée, la valeur par défaut de la variable est undefined. Le code suivant illustre ces paramètres par défaut pour un programme de ligne de commande :

var count; // Declare a single declaration using default type and value.
print(count); //Print the value of count.
print(typeof(count)); // Prints undefined.

Vous pouvez définir une valeur initiale pour la variable sans déclarer son type :

var count = 1; // An initialized variable.

L'exemple ci-dessous déclare plusieurs variables à l'aide d'une seule et même instruction var :

var count, amount, level;  // multiple declarations with a single var keyword.

Pour déclarer une variable et l'initialiser sans lui assigner de valeur précise, assignez-lui la valeur JScript null. Voici un exemple :

var bestAge = null;

Une variable déclarée sans valeur assignée existe, mais elle possède la valeur JScript undefined. Voici un exemple :

var currentCount;
var finalCount = 1 * currentCount; // finalCount has the value NaN since currentCount is undefined.

La principale différence entre null et undefined dans JScript réside dans le fait que null est converti en 0 (même si ce n'est pas zéro), tandis que undefined est converti dans la valeur spéciale NaN (Not a Number, pas un nombre). Paradoxalement, lorsqu'elles sont comparées à l'aide de l'opérateur d'égalité (==), une valeur null et une valeur undefined sont toujours égales.

La déclaration de constantes non typées est similaire à la déclaration de variables si ce n'est que vous devez fournir une valeur initiale pour les constantes non typées. Par exemple :

const daysInWeek  = 7;
const favoriteDay  = "Friday";
const maxDaysInMonth  = 31, maxMonthsInYear = 12

Déclaration de variables sans le mot clé var

Vous pouvez déclarer une variable sans utiliser le mot clé var dans la déclaration, et lui assigner une valeur. Il s'agit d'une déclaration implicite, peu recommandée. Une déclaration implicite crée une propriété de l'objet global avec le nom assigné ; la propriété se comporte comme une variable avec une visibilité de portée globale. Toutefois, lorsque vous déclarez une variable au niveau de la procédure, vous ne souhaitez généralement pas qu'elle ait une portée globale. Dans ce cas, vous devez utiliser le mot clé var dans votre déclaration de variable.

noStringAtAll = ""; // The variable noStringAtAll is declared implicitly.

Vous ne pouvez pas utiliser une variable n'ayant jamais été déclarée.

var volume = length * width; // Error - length and width do not yet exist.
Remarque :

La déclaration de variables sans le mot clé var génère une erreur de compilation lors d'une exécution en mode rapide, le mode par défaut de JScript. Pour compiler un programme à partir de la ligne de commande qui n'utilise pas le mot clé var, vous devez désactiver l'option fast en utilisant /fast-. Il est déconseillé de désactiver l'option fast dans ASP.NET en raison des problèmes de threads qui peuvent en résulter.

Voir aussi

Tâches

Comment : compiler du code JScript à partir de la ligne de commande

Concepts

Identificateurs JScript

Autres ressources

Variables et constantes JScript

Types de données JScript