!! GROS PLAN SUR LES OBJETS !!
!! GROS PLAN SUR LES SCOPES !!
C'est une function qui a enfermé avec elle des variables qui lui sont externes, elle a enfermé des variables d'une function parent.
En gros , une fois que le contexte d’exécution d'une function a disparu les variables créent dans ce contexte restent accessible à une autre function ( function fille par exemple ) La particularité des closures c'est de capturer l’accès a des variables de scope parents même si ce scope a disparu du contexte d'exécution
Voir partie sur les contextes d'exécution plus bas!
"Immediately Invoked Functions"
On écrit la déclaration de la function et on l’exécute immédiatement, c'est une function qui s'appelle elle même.
(function iifes () {
//Do some code...
}) ();
Permettent une syntaxe plus propre, plus rapide et fixent la valeur du THIS.
argument => value;
const me = {
name : "Cyril",
presentFriend : function (friend) {
console.log("tu connais " + friend + " ?";
}
}
//Becomes :
const me = {
name : "Cyril",
presentFriend : (friend) => "tu connais " + friend + "?";
}