COURS JavaScript


Accueil | Elements de base du langage JavaScript : Les variables

Les variables


Généralités

Ecrire un programme dans un langage informatique, veut dire traiter des informations. Nous les appellerons les "Données"
Le but du programme est de travailler sur ces données. Les stocker, les modifier, effectuer des calculs dessus ou avec, s'en servir pour faire des choix, etc.
Pour que l'ordinateur soit capable de faire ce que nous allons lui demander (ce n'est qu'une machine après tout, il ne faut pas lui en vouloir), il faut stocker ces données dans sa mémoire (seule chose à laquelle nous ayons accès).

Afin que l'ordinateur (et surtout nous !) soyons capables de retrouver une donnée nous allons la ranger dans un coin de sa mémoire. D'une manière imagée, on peut considérer que la zone de mémoire de l'ordinateur où seront stockées les données, est constituée d'une infinité (ou à peu près) de petits casiers dans lesquels seront rangées les données que nous y mettrons. Afin de pouvoir distinguer les petits casiers les uns des autres, on va donner un nom à chaque casier que nous utiliserons. Dès lors, un petit casier qui porte un nom, deviendra une "variable".

Pour indiquer à l'ordinateur que nous attribuons un nom à un petit casier, on écrit l'instruction suivante :

var MonPoids
var MonPrenom

var est un mot réservé de JavaScript. Il s'écrit en minuscules. Dès lors que l'interpréteur JavaScript rencontre le mot var, il sait qu'il va devoir réserver un emplacement dans sa mémoire (un petit casier), et donner à cet emplacement, le nom qui suit directement le mot réservé var.
Dans notre exemple, l'interpréteur va réserver deux petits casiers dans sa mémoire. Il va appeler le premier MonPoids et le deuxième NomPrenom. Les noms MonPoids et MonPrenom sont les noms que NOUS  (programmeurs) avons décidé de donner aux petits casiers. Nous aurions pu décider de donner n'importe quel nom à ces petits casiers.
Dès que cette instruction (var) est exécutée par l'interpréteur, il existe en mémoire deux zones encore vides, portant les noms que nous avons décidés. Il ne nous restera plus qu'à les remplir lorsque nous en aurons besoin.
Ces zones, réservées, sont appelées des "variables".
L'instruction JavaScript var MonPoids ou var MonPrenom, est appelée "déclaration de variables".
 
 
Il est bon de donner aux variables (petits casiers) des noms représentatifs de ce qu'ils sont destinés à contenir. Ca simplifie la lecture du programme pour le programmeur. Il serait dangereux (et pas très malin) d'appeler une variable MonPrenom, et d'y stocker son numéro de compte en banque. C'est comme si dans votre cuisine, vous aviez une boite dont l'étiquette indique "Sucre" et que vous  remplissiez la boite de sel.
Vous avez le droit de le faire. Mais le jour où vous oubliez que vous avez mis du sel dans la boite à sucre, vous risquez d'avoir des surprises en faisant un dessert.



Emplacement des déclarations de variables

Certains langages informatique nécessitent des déclarations de variables. D'autres pas. JavaScript fait partie de ceux qui veulent qu'on déclare les variables avant de s'en servir.
Nous verrons par la suite que ce n'est pas absolu, mais pour le moment, nous nous en tiendrons à ça.
Ces déclarations de variables peuvent se faire un peu n'importe où dans le corps du programme, entre les balises

<script language="JavaScript">

</script>
 
 
Je recommande personnellement de faire les déclarations de variables en tête du programme, juste au dessous de la balise <script language="JavaScript">. Du moins jusqu'à ce que vous soyez des programmeurs confirmés. 

Dans ce cas, le squelette de notre page HTML programme serait :

<html>

     <head>
     <title> .......... </title>

     <script language="JavaScript">
     // déclaration des variables
    var MonPoids
    var monPrenom

     </script>

     </head>

<body>

</body>
</html>

 Vous remarquerez que nous n'avons pas oublié le commentaire indiquant ce que l'on fait.



Contraintes dans les noms de variables

Si nous avons le droit de donner le nom que nous voulons aux variables, nous devons cependant respecter un certain nombre de contraintes imposées par l'interpréteur JavaScript.

1) Les noms de variables ne peuvent contenir que des lettres, chiffres, ou le caractère "_" (underscore)

Mon_Prenom est un nom valide

2) Les caractères spéciaux et accentués sont interdits (é, à, ç, ï, etc..)

Mon_Prénom n'est pas un nom valide. Il y a un caractère accentué.

3) Les majuscules et les minuscules ont leur importance.

MonPrenom est différent de Monprenom. Ce sont deux variables différentes

4) Un nom de variable ne peut contenir d'espaces.

Mon Prenom n'est pas un nom de variable correct. Il y a un espace.

5) Les mots réservés JavaScript ne peuvent être utilisés comme noms de variable.

var, ne peut être un nom de variable par exemple. Mais là, on comprend facilement, car il y aurait confusion entre l'instruction var et le nom de variable var.

Il n'y a pas vraiment de limite à la longueur du nom d'une variable, mais le bon sens nous dicte de ne pas donner des noms démesurément longs à une variable.



Les différents types de variables.

Jusqu'à maintenant, nous avons vu comment réserver un emplacement à une variable en mémoire.
Mais le petit casier, s'il est étiqueté, ne contient encore rien. Il est vide.
On dit que la variable est vide et non typée.
Le type de la variable va dépendre de ce que nous allons mettre (on dit aussi "stocker") dans le petit casier (la variable).
Le plus souvent, pour mettre quelque chose dans le petit casier (la variable), nous utiliserons l'instruction suivante :

MonPrenom = "Philippe"

En faisant cela, nous rangeons la valeur "Philippe" dans le petit casier appelé MonPrenom.
On dit que l'on "affecte" la "valeur" philippe à la variable MonPremon.
Le signe "=" est l'instruction qui permet de dire à l'interpréteur JavaScript : range la valeur "philippe" dans le casier appelé MonPrenom.
La valeur "Philippe" étant mise entre guillemets, indique à l'interpréteur JavaScript que la valeur "Philippe" est de type "String" (chaîne de caractères). Dorénavant, la variable MonPrenom, tant qu'elle contiendra la valeur "Philippe" aura le type "String" (chaîne de caractères). Et ceci jusqu'à ce qu'on décide de lui donner une valeur différente.

Si nous utilisons la variable appelée MonPoids et que nous lui affections la valeur 70 par l'instruction :

MonPoids = 70

Sans guillemets, la valeur 70 sera considérée comme un nombre. Nous dirons alors que la variable MonPoids est de type Number (nombre, ou numérique). Et elle le restera jusqu'à ce que nous décidions de lui affecter une autre valeur à notre convenance.
 
 
Notez bien que si l'on avait écrit : MonPoids = "70", le chiffre "70" entre guillemets, aurait signifié que "70" est une chaîne de caractères, et la variable aurait été de type String. Ce qui nous empêcherait par la suite d'effectuer des calculs sur le contenu de cette variable, puisque nous verrons que l'on ne peut effectuer d'opérations mathématiques sur les chaînes de caractères (variables de type String).

Jusqu'ici, c'est relativement naturel. Chacun et chacune comprend la différence entre chiffre et lettres.
Voyons maintenant le cas d'un de type de variables moins évidents.
Imaginons une variable appelée JeMents. et affectons lui la valeur true (vrai) par l'instruction :

JeMents = true

La variable ne contient plus ni chiffre ni lettre, mais une valeur logique.
On dira alors que la variable est de type Boolean (booléen, ou logique).
Il n'existe que deux valeurs Boolean, qui sont : "true" (vrai) ou "false" (faux).
Ces valeurs purement informatiques serviront à effectuer des tests, à vérifier si une situation est vraie ou fausse.
Les mots true et false sont des mots réservés JavaScript. On ne pourra donc pas les utiliser comme noms de variables.

Il existe encore trois autres types de variables, mais pour l'instant, nous nous en tiendrons à ces trois types fondamentaux pour commencer.
 
 



Ce cours est enseigné par Philippe Médan 
dans le cadre de la formation des professionnels de l'INTERNET.
au CREFAC , 14 rue Scandicci, 93000 Pantin. Tél. : 01 48 46 51 99
au GITA-GRETA , Lycée Technologique Diderot 61, rue David D'Angers 75019 Paris Tél. : 01 40 40 36 27
au CESI à l'Ecole des ingénieurs, 116 Av Aristide Briand, BP 57, 92224 Bagneux CEDEX Tél. : 01 45 36 70 00
au CFA-AFIA Centre de Formation par l'Apprentissage spécialisé en Informatique DUT Licence MIAGE,
PUIO - Bâtiment 640 - Plateau du Moulon - 91405 Orsay Tél. : 01 69 15 35 19.

© Philippe Médan 1999-2007. Tous droits de reproduction réservés pour tous pays.