Déclaration de variables
En TypeScript, les variables peuvent être déclarées en utilisant var
, let
ou const
var
Les variables déclarées en utilisant var
ont comme périmètre la fonction dans laquelle elles sont déclarées.
let
Les variables déclarées en utilisant let
ont comme périmètre le bloc dans lequel elles sont déclarées (fonction, condition ou boucle).
Elles peuvent évidemment changer, mais ne peuvent être redéclarées.
Il s'agit de la façon attendue pour déclarer vos variables dans le cadre du cours.
const
Même périmètre que let
, mais comme leur nom l'indique, elles ne peuvent pas changer.
Voici trois exemples comparant l'utilisation de var
, let
et const
en TypeScript, en utilisant la même base afin de bien voir les différences entre ces trois mots-clés.
Exemples
var
Utilisons une boucle pour illustrer les différences en termes de portée et de comportement :
// Utilisation de var
function testVariables() {
for (var i = 0; i < 3; i++) {
console.log(i); // Affiche 0, 1, 2
}
console.log(i); // Affiche 3 car var est en portée globale dans la fonction
}
testVariables();
La portée de var
est la fonction dans laquelle il se trouve. Dans l'exemple, la variable i
reste accessible même après la boucle.
let
// Utilisation de let
function testVariables() {
for (let i = 0; i < 3; i++) {
console.log(i); // Affiche 0, 1, 2
}
console.log(i); // Erreur : i n'est pas accessible ici car la porté de let est la boucle
}
testVariables();
let
a une portée de bloc (délimitée par {}
). La variable i
n'est donc pas accessible en dehors de la boucle.
const
// Utilisation de const
function testVariables() {
const max = 3; // La valeur ne peut pas être réassignée
for (let i = 0; i < max; i++) {
console.log(i); // Affiche 0, 1, 2
}
max = 4; // Erreur : on ne peut pas réassigner une constante
}
testVariables();
const
déclare une constante, ce qui signifie que sa valeur ne peut pas être réassignée après initialisation. Cependant, si la constante est un objet ou un tableau, ses propriétés ou éléments peuvent être modifiés. Dans cet exemple, nous utilisons const
pour une valeur qui ne change pas.
Pour démontrer l'affirmation précédente, testons le cas dans lequel la constante est un tableau qu'on pourra modifier.
function testConstArray() {
const nombres = [1, 2, 3];
console.log("Tableau initial :", nombres); // Affiche [1, 2, 3]
// Modifier un élément du tableau
nombres[0] = 99;
console.log("Après modification de l'élément 0 :", nombres); // Affiche [99, 2, 3]
// Ajouter un nouvel élément au tableau
nombres.push(4);
console.log("Après ajout d'un élément :", nombres); // Affiche [99, 2, 3, 4]
// Réassigner le tableau entier (ceci va provoquer une erreur)
// nombres = [5, 6, 7]; // Erreur : impossible de réassigner une constante
}
testConstArray();