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

Que sont les fermetures en JavaScript ? (Guide inte)

DDD
Libérer: 2024-11-22 03:42:24
original
344 Les gens l'ont consulté

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
Copier après la connexion

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  
Copier après la connexion

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  
Copier après la connexion

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!

source:dev.to
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal