JavaScript est un langage qui surprend et étonne par sa polyvalence et ses caractéristiques. L'une de ces parties concerne la façon dont les fonctions imbriquées gèrent la portée des variables. Que vous débutiez avec JavaScript ou que vous cherchiez à améliorer vos compétences en codage, il est important de comprendre ce concept pour le maîtriser.
Dans ce blog, nous examinerons ce que sont les fonctions imbriquées, comment fonctionne leur portée et pourquoi cette connaissance est importante. À la fin, vous comprendrez comment les fonctions imbriquées interagissent avec les variables et le pouvoir des fermetures.
Une fonction imbriquée est simplement une fonction définie dans une autre fonction. En JavaScript, ces fonctions internes peuvent accéder aux variables dans leur portée externe (englobante). Ce comportement est connu sous le nom de portée lexicale ou, plus souvent, de fermeture.
Le comportement des fonctions imbriquées est guidé par un concept connu sous le nom de portée lexicale, ce qui signifie que la portée des variables est définie par leur emplacement dans le code source.
Voici les règles principales à retenir concernant la portée des fonctions imbriquées :
1️⃣ Les fonctions internes peuvent accéder aux variables des fonctions externes :
Les fonctions internes ont un accès complet aux variables déclarées dans leur fonction externe.
? Exemple :
function outerFunction(){ const outerVar = "I am from Outer Function!"; function innerFunction(){ console.log(outerVar); // Accessing `outerVar` from outer scope } innerFunction(); } outerFunction(); // Output: I am from Outer Function!
2️⃣ Les fonctions externes ne peuvent pas accéder aux variables des fonctions internes :
Les variables déclarées dans une fonction interne lui sont locales et ne sont pas visibles par la fonction externe.
? Exemple :
function outerFunction(){ function innerFunction(){ const innerVar = "I am from Inner Function"; } console.log(innerVar); // Error: Uncaught ReferenceError: innerVar is not defined innerFunction(); } outerFunction();
3️⃣ Les fonctions imbriquées ont accès à leur portée externe même après le retour de la fonction externe
C’est là que les fermetures entrent en jeu ! Les fermetures permettent à la fonction interne de "se souvenir" des variables de sa portée englobante, même si la fonction externe n'est plus en exécution.
? Exemple :
function outerFunction() { let count = 0; return function innerFunction() { count++; console.log("count = " + count); }; } const counter = outerFunction(); for(let i=1; i <= 5; i++){ counter() } /* Output: count = 1 count = 2 count = 3 count = 4 count = 5 */
La fonction interne stocke la variable de comptage, lui permettant d'augmenter le nombre lors d'appels répétés.
La maîtrise de la portée des fonctions imbriquées débloque de puissants modèles de codage et vous aide à :
Les fermetures sont un concept avancé étroitement lié aux fonctions imbriquées. Lorsqu'une fonction interne se souvient et accède aux variables depuis sa portée externe après l'exécution de la fonction externe, elle crée une fermeture.
Pour l'instant, n'oubliez pas :
Les fermetures permettent aux fonctions imbriquées de « garder » vivantes les variables de leur portée externe.
Dans le prochain blog, nous approfondirons les fermetures, en examinant leurs utilisations pratiques et comment elles font de JavaScript un langage si puissant.
Comprendre la portée des fonctions imbriquées est une étape importante de votre parcours JavaScript. Il crée une base pour comprendre les fermetures, la confidentialité des données et les modèles de programmation avancés. Les fonctions imbriquées mettent en évidence la puissance de la portée lexicale de JavaScript et sa capacité à générer du code efficace, flexible et réutilisable.
Êtes-vous prêt à explorer les fermetures ? Restez à l'écoute pour le prochain blog de la série ! ?
Bon codage ! ✨
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!