Retour au cours

Expressions de fonctions invoquées immédiatement (IIFE)

JavaScript : Le cours complet pour débutant, de « Zéro à Héros »

51. Immediately Invoked Function Expressions (IIFE)

Une IIFE est une fonction qui est exécutée immédiatement après avoir été définie. Avant qu'ES6 n'introduise la portée de bloc (let/const), les IIFE étaient le principal moyen de créer une portée privée et d'empêcher les variables de polluer la portée globale.

Syntaxe

Il y a deux parties :

  1. Envelopper la fonction dans des parenthèses () pour la traiter comme une expression.
  2. Ajouter des parenthèses finales () pour appeler immédiatement la fonction.

javascript (function() { let tempVariable = 'Je suis privée !'; console.log(tempVariable); })(); // La fonction s'exécute immédiatement

// console.log(tempVariable); // ReferenceError: tempVariable is not defined

Utilisation moderne

Bien que let et const aient rendu les IIFE moins cruciales pour l'isolation simple des variables, elles sont toujours utilisées dans le regroupement de modules (module bundling) et lors de l'exécution d'un code qui doit s'exécuter précisément une fois au chargement sans créer de variables globales temporaires.