Maison  >  Article  >  interface Web  >  Que sont les fermetures en JavaScript ? (Guide inte)

Que sont les fermetures en JavaScript ? (Guide inte)

DDD
DDDoriginal
2024-11-22 03:42:24293parcourir

What Are Closures in JavaScript? (inute Guide)

Que sont les fermetures en JavaScript ?

Les fermetures sont un concept fondamental en JavaScript qui peut sembler délicat mais qui est incroyablement puissant. Voici un guide rapide pour les comprendre.

Qu’est-ce qu’une fermeture ?

Une fermeture est créée lorsqu'une fonction "se souvient" des variables de sa portée lexicale, même après la sortie de cette portée.

Exemple:

function outerFunction(outerVariable) {  
  return function innerFunction(innerVariable) {  
    console.log(`Outer: ${outerVariable}, Inner: ${innerVariable}`);  
  };  
}  

const myClosure = outerFunction("Hello");  
myClosure("World");  
// Output: Outer: Hello, Inner: World

Ici, innerFunction a accès à externalVariable depuis la portée de externalFunction, même après que externalFunction ait fini de s'exécuter.

Pourquoi les fermetures sont-elles utiles ?

Confidentialité des données : créez des variables privées.

function counter() {  
  let count = 0;  
  return function () {  
    count++;  
    return count;  
  };  
}  
const myCounter = counter();  
console.log(myCounter()); // 1
console.log(myCounter()); // 2  

Application partielle : pré-remplir les arguments de la fonction.

function multiplyBy(multiplier) {  
  return function (number) {  
    return number * multiplier;  
  };  
}  
const double = multiplyBy(2);  
console.log(double(5)); // 10  

Conclusion

Les fermetures permettent aux fonctions de se souvenir de leur environnement. Ils sont parfaits pour les variables privées, les applications partielles et de nombreux autres modèles avancés en JavaScript.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn