Aller au contenu principal

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.

info

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();
info

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();
info

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();
info

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();