⊗jsPmFTNFE 235 of 505 menu

Expressions de fonction nommées en JavaScript

Supposons que nous ayons une expression de fonction comme celle-ci :

let test = function() { console.log('!'); }; test(); // affichera '!'

Donnons un nom func à notre fonction :

let test = function func() { console.log('!'); }; test();

Comme vous le savez déjà, on ne peut pas accéder à la fonction par ce nom :

let test = function func() { console.log('!'); }; test(); // affichera '!' func(); // générera une erreur

Alors, pourquoi donner un nom à la fonction s'il ne sera pas accessible ? Le fait est que ce nom sera inaccessible depuis l'extérieur de la fonction, mais accessible à l'intérieur de cette fonction.

Vérifions :

let test = function func() { console.log(func); // la fonction affichera son propre code source }; test(); // nous appelons la fonction

Appelons notre fonction à l'intérieur d'elle-même :

let test = function func() { console.log('!'); // nous affichons '!' func(); // nous nous appelons nous-mêmes }; test();

Si vous exécutez ce code, une quantité infinie de sorties sera affichée dans la console.

En fait, notre fonction peut être appelée à l'intérieur d'elle-même non seulement comme func, mais aussi comme test :

let test = function func() { console.log('!'); test(); // nous nous appelons nous-mêmes }; test();

Quelle est la différence ? La différence est que le nom test est simplement une variable. Pendant le processus d'exécution du script, notre fonction peut être assignée à une autre variable ou passée comme paramètre - dans ce cas, le lien entre la variable test et la fonction peut disparaître.

Le nom func, quant à lui, est rigidement lié à la fonction spécialement pour pouvoir se référer à notre fonction à l'intérieur d'elle-même.

De telles Function Expression avec un nom de fonction sont appelées expressions de fonction nommées.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser