Bienvenue invité ( Connexion | Inscription )
			
			  19 Apr 2020, 12:51
			
				 Message
					#1
					
				
			 
		 | 
	|
        	
				
					![]() Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 5 016 Inscrit : 1 Jul 2010 Membre no 156 073  | 
       
			
			 
				Bonjour,  
			
			j’essaie, sans succès, d’adapter avec des fonctions fléchées d’ES6 ce code qui permet de conserver une valeur de paramètre en référençant une fonction qui contient une fermeture (closure) : Exemple qui fonctionne sans fonctions fléchées : Code function externe(x) { function interne(y) { return x + y; } return interne; } let resultat = externe(1)(3); console.log(resultat); // affiche 4 // référencer la fonction externe avec une valeur en paramètre // cette valeur est conservée const fonctionInterne = externe(3); // appel de la fonction externe avec passage de paramètre // pour la fonction interne resultat = fonctionInterne(5); console.log(resultat); // affiche 8 (3 + 5) resultat = fonctionInterne(4); console.log(resultat); // affiche 7 (3 + 4) Exemple qui ne fonctionne pas avec des fonctions fléchées : Code const externe = (x) => { const interne = (y) => { x + y; } interne; } const fonctionInterne = externe(3); let resultat = fonctionInterne(5); console.log(resultat); // TypeError: fonctionInterne is not a function Edit : j’ai solutionné le problème qui semble venir du fait que, dans ce cas, le retour implicite de valeur ne fonctionne pas. J’ai donc utilisé explicitement return. La solution : Code const externe = (x) => { const interne = (y) => { return x + y; } return interne; } Si vous avez une Merci. Ré édit : titre conforme à la charte Ce message a été modifié par scoch - 19 Apr 2020, 23:52. -------------------- L'homme n'est que poussière... c'est dire l'importance du plumeau ! Alexandre Vialatte 
					
		 | 
	
| 
			
			 | 
	|
 scoch   JavaScript ES6 * Closure et conservation de valeur de paramètre [Résolu]   19 Apr 2020, 12:51
 
 Jaypee   On peut ne pas nommer la fonction interne, mais ef...   22 Apr 2020, 12:46
 
 scoch   Citation (Jaypee @ 22 Apr 2020, 13:46) Pa...   22 Apr 2020, 13:23
 
 scoch   Citation (Jaypee @ 22 Apr 2020, 13:46) La...   22 Apr 2020, 19:53
 
 Jaypee   Magnifique !
JP   22 Apr 2020, 21:49![]() ![]()  | 
	
| Nous sommes le : 4th November 2025 - 05:46 |