Aller au contenu principal

Le site sera en maintenance le 19/04/2026 entre 09h30 et 12h00.

Aller au contenu principal

En Python, une fonction peut lire une variable globale, mais pas la modifier sans global. En JS, c'est plus permissif, mais il y a des règles.

Scope de Bloc (avec let et const)

Une variable existe uniquement dans les accolades {} où elle est née.

if (true) {
    const secret = "Code42";
}
// console.log(secret); -> ERREUR ! ReferenceError

Closures (Fermetures)

C'est un concept clé. Une fonction "se souvient" des variables qui existaient à sa création, même si la fonction parente a fini de s'exécuter.

const creerCompteur = () => {
    let count = 0; // Cette variable devrait mourir à la fin de la fonction...
    
    return () => {
        count++; // ... mais cette fonction interne la garde en vie !
        console.log(count);
    };
};

const monCompteur = creerCompteur();
monCompteur(); // 1
monCompteur(); // 2

C'est comme l'encapsulation (attributs privés) en POO, mais avec des fonctions.

Commentaires (0)

Laisser un commentaire

Aucun commentaire pour le moment. Soyez le premier à commenter !