Retour au blog
févr. 2022·1 min de lectureTraduit par IA
Langue:DeutschEnglishFrançaisÖsterreichischKlingonian Version originale: Deutsch

Closures JavaScript

#javascript

Une closure apparaît lorsqu'une fonction accède à une variable ou à une fonction en dehors de son propre scope. En gros, une closure est une fonction qui se souvient des valeurs disponibles dans le scope qui l'entourait au moment de sa création.

Expliquons cela avec un exemple :

function greeting(name) {
  return function() {
    console.log("Hello, " + name + "!");
  };
}

const greetJohn = greeting("John");
const greetMary = greeting("Mary");

greetJohn(); // Output: Hello, John!
greetMary(); // Output: Hello, Mary!

Dans cet exemple, nous avons une fonction « greeting » qui renvoie une closure mémorisant le nom passé lors de l'appel de « greeting ». Nous affectons ensuite la closure à chaque personne que nous voulons saluer, en la stockant dans des variables.

Quand nous appelons les closures stockées, elles se souviennent du nom reçu à leur création et affichent « Hello, [Nom]! » en conséquence.

Les closures sont très utiles pour masquer des données et offrir une interface propre aux autres fonctions. Mais elles peuvent aussi prêter à confusion si l'on ne sait pas quelles variables sont dans le scope et lesquelles n'y sont pas.

Pour que les closures fonctionnent correctement et ne produisent pas de résultats inattendus, il est important de bien comprendre le scope et de s'assurer d'accéder aux variables et aux fonctions de la bonne manière.

Plus récentJavaScript - Les générateursPlus ancienRenommer et copier automatiquement les photos GoPro