aboutsummaryrefslogtreecommitdiff
path: root/files/fr/glossary/iife
diff options
context:
space:
mode:
authorFlorian Merz <me@fiji-flo.de>2021-02-11 12:36:08 +0100
committerFlorian Merz <me@fiji-flo.de>2021-02-11 12:36:08 +0100
commit39f2114f9797eb51994966c6bb8ff1814c9a4da8 (patch)
tree66dbd9c921f56e440f8816ed29ac23682a1ac4ef /files/fr/glossary/iife
parent8260a606c143e6b55a467edf017a56bdcd6cba7e (diff)
downloadtranslated-content-39f2114f9797eb51994966c6bb8ff1814c9a4da8.tar.gz
translated-content-39f2114f9797eb51994966c6bb8ff1814c9a4da8.tar.bz2
translated-content-39f2114f9797eb51994966c6bb8ff1814c9a4da8.zip
unslug fr: move
Diffstat (limited to 'files/fr/glossary/iife')
-rw-r--r--files/fr/glossary/iife/index.html47
1 files changed, 47 insertions, 0 deletions
diff --git a/files/fr/glossary/iife/index.html b/files/fr/glossary/iife/index.html
new file mode 100644
index 0000000000..4aabbfb803
--- /dev/null
+++ b/files/fr/glossary/iife/index.html
@@ -0,0 +1,47 @@
+---
+title: IIFE
+slug: Glossaire/IIFE
+tags:
+ - Glossaire
+ - JavaScript
+ - Programmation
+translation_of: Glossary/IIFE
+---
+<p><strong>IIFE </strong>(Immediately Invoked Function Expression) <span id="result_box" lang="fr"><span><em>(Expression de fonction invoquée immédiatement)</em> </span></span>est une {{glossary("Function","fonction")}} {{glossary("JavaScript")}} qui est exécutée dès qu'elle est définie.</p>
+
+<p>C'est un modèle de conception qui est également connu sous le nom de {{glossary("Self-Executing Anonymous Function","Fonction anonyme auto-exécutable")}} et contient deux parties principales. La première est la fonction anonyme avec portée lexicale incluse dans le {{jsxref("Operators/Grouping", "groupement opérateur")}}<code>()</code>. Cela empêche l'accès aux variables dans l'expression idiomatique IIFE ainsi que la pollution de la portée globale.</p>
+
+<p>La deuxième partie crée la fonction immédiatement exécutable<code> ()</code>, à travers laquelle le moteur JavaScript interprétera directement la fonction.</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p>La fonction devient une expression de fonction qui est immédiatement exécutée. La variable dans l'expression ne peut pas être atteinte de l'extérieur.</p>
+
+<pre class="brush: js line-numbers language-js"><code class="language-js"><span class="punctuation token">(</span><span class="keyword token">function</span> <span class="punctuation token">(</span><span class="punctuation token">)</span> <span class="punctuation token">{</span>
+ <span class="keyword token">var</span> aName <span class="operator token">=</span> <span class="string token">"Barry"</span><span class="punctuation token">;</span>
+<span class="punctuation token">}</span><span class="punctuation token">)</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">;</span>
+<span class="comment token">// Le nom de la variable n'est pas accessible depuis le périmètre externe</span>
+aName <span class="comment token">// lancement "Exception ReferenceError: aName n'est pas défini"</span></code></pre>
+
+<p>Affecter l'IIFE à une variable ne la stocke pas mais reçoit son résultat.</p>
+
+<pre class="brush: js line-numbers language-js"><code class="language-js"><span class="keyword token">var</span> result <span class="operator token">=</span> <span class="punctuation token">(</span><span class="keyword token">function</span> <span class="punctuation token">(</span><span class="punctuation token">)</span> <span class="punctuation token">{</span>
+ <span class="keyword token">var</span> name <span class="operator token">=</span> <span class="string token">"Barry"</span><span class="punctuation token">;</span>
+ <span class="keyword token">return</span> name<span class="punctuation token">;</span>
+<span class="punctuation token">}</span><span class="punctuation token">)</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">;</span>
+<span class="comment token">// Crée immédiatement la sortie: </span>
+result<span class="punctuation token">;</span> <span class="comment token">// "Barry"</span></code></pre>
+
+<h2 id="Pour_approfondir">Pour approfondir</h2>
+
+<h3 id="Apprendre_sur_ce_sujet">Apprendre sur ce sujet</h3>
+
+<ul>
+ <li><a href="https://developer.mozilla.org/fr/docs/Web/JavaScript/Une_r%C3%A9introduction_%C3%A0_JavaScript#Les_fonctions">Exemple rapide</a> (à la fin de la section "Les fonctions", juste avant "Les objets personnalisés")</li>
+</ul>
+
+<h3 id="Culture_générale">Culture générale</h3>
+
+<ul>
+ <li><a href="https://fr.wikipedia.org/wiki/JavaScript#Expressions_de_fonctions_imm%C3%A9diatement_invoqu%C3%A9es">Immediately-invoked function expression (IIFE)</a> sur Wikipédia</li>
+</ul>