Les variables (Affectation)
Retour d'un niveau
Retour à l'accueil
Les variables en js ne sont pas typées (entier, booléen, string).
C'est le mot clé var qui permet de déclarer une variable et sa valeur définit son type :
- elles ne doivent pas contenir d'espace
- elles ne doivent comporter que des lettres, des chiffres ou le caractère de soulignement “_”
- le premier caractère doit être une lettre, le caractère de soulignement ou un $.
Variable non déclarée (déclaration implicite)
la souplesse du JS permet de ne pas déclarer les variables, on appelle cela la “déclaration implicite”.
On l'utilise souvent dans une boucle for pour déclarer la variable “i” qui servira de compteur mais ce n'est pas une bonne solution.
Cette méthode n'est pas conseillée
test = 10; test = document.BD.prop.value;
Variable déclarée
var test;
Variable déclarée et initialisée
var test = 10;
La déclaration des variables peut se faire sur une ou plusieurs lignes
var i = 1, j = 2;
Une petite précision ici s'impose : quand vous utilisez une seule fois l'instruction var pour déclarer plusieurs variables, vous devez placer une virgule après chaque variable (et son éventuelle attribution de valeur) et vous ne devez utiliser le point-virgule (qui termine une instruction) qu'à la fin de la déclaration de toutes les variables.
Les portées de variables
Lorsqu'une variable est déclarée avec le mot clé var en dehors des fonctions, elle est appelée variable globale car elle est disponible pour tout le code contenu dans le document.
Lorsqu'une variable est déclarée dans une fonction, elle est appelée variable locale car elle n'est disponible qu'au sein de cette fonction.
Remontée de variables (hoisting)
Un autre chose peut paraître étrange en JavaScript : il est possible, sans recevoir d'exception, de faire référence à une variable qui est déclarée plus tard. Ce concept est appelé « remontée » (hoisting en anglais) car, d'une certaine façon, les variables sont remontées en haut de la fonction ou de l'instruction. En revanche, les variables qui n'ont pas encore été initialisées renverront la valeur undefined.
C'est pourquoi il est conseillé de placer les instructions var dès que possible dans le code.
De plus, cette bonne pratique aide à rendre le code plus lisible.
Les variables globales
Les variables globales sont en réalité des propriétés de l'objet global. Dans les pages web, l'objet global est window, et on peut donc accéder ou modifier la valeur de variables globales en utilisant la syntaxe suivante : window.variable .
Ainsi, il est possible d'accéder à des variables déclarées dans une fenêtre ou dans un cadre depuis une autre fenêtre ou depuis un autre cadre (frame) en spécifiant son nom. Si, par exemple, une variable appelée numTéléphone est déclarée dans un document FRAMESET, il est possible d'y faire référence, depuis un cadre fils, avec la syntaxe parent.numTéléphone.
Attention
- Les variables n'existent que le temps du script, ce qui veut signifie que les variables définies dans une page ne sont pas visibles dans une autre page.
- La valeur undefined est convertie en NaN (pour Not a Number : « n'est pas un nombre ») lorsqu'elle est utilisée dans un contexte numérique.
- Une variable valant null sera toujours considérée comme 0 dans un contexte numérique et comme false dans un contexte booléen.
Les Constantes
Il est possible de créer des constantes en lecture seule en utilisant le mot-clé const.
La syntaxe d'un identifiant pour une constante est la même que pour les variables (il doit débuter avec une lettre, un tiret bas, un symbole dollar et peut contenir des caractères numériques, alphabétiques et des tirets bas voire des caractères Unicode).
const préfixe = '212';
Une constante ne peut pas changer de valeur grâce à une affectation ou être re-déclarée pendant l'exécution du script.
Les règles de portée des constantes sont les mêmes que pour les variables, à l'exception du mot-clé const qui est obligatoire. S'il est oublié, l'identifiant sera considéré comme celui d'une variable.
