LE SECRET DES CLOSURES EN JAVASCRIPT ?

  Рет қаралды 3,109

Melvynx • Apprendre à coder

Melvynx • Apprendre à coder

Күн бұрын

Cours GRATUIT sur JavaScript : codelynx.dev/b...
▶ VIDÉO
Plongeons ensemble dans le monde fascinant des closures en JavaScript. C'est un concept qui peut sembler mystérieux et compliqué à première vue, mais qui se révèle être un outil puissant et indispensable pour tout développeur JavaScript.
Au programme :
- Définition précise d'une closure
- Cas d'utilisation classiques et avancés
- Exemples concrets pour maîtriser ce concept
- Astuces pour éviter les pièges courants
▶ ME SUIVRE
🐦 Mon Twitter : / melvynxdev
🖥 Mon GitHub : github.com/Mel...
📑 Mon Blog : codelynx.dev
Le club du développeur secret codelynx.dev/club
Cours GRATUIT sur useState : codelynx.dev/b...
Cours GRATUIT sur NextJS : codelynx.dev/n...
Cours GRATUIT sur JavaScript : codelynx.dev/b...
#javascript #developper #react #reactjs #reactjstutorial #reactjsdeveloper #reactjscourse #reactjsforbeginners #reactjsproject #javascripttutorials #javascripttutorialforbeginners

Пікірлер: 23
@danygbe2661
@danygbe2661 Жыл бұрын
Hello, intéressante ta vidéo, tu dis que c'est un concept indispensable, tu expliques le fonctionnement mais tu ne dis pas dans qu'elle cas c'est utile ou utilisé ?
@ApprendreSansNecessite
@ApprendreSansNecessite Жыл бұрын
En programmation fonctionnelle l'usage est principalement l'application partielle, qui peut être une forme d'injection de dépendances (la syntaxe utilisée est dans ce cas plus légère : const add = a => b => a + b), mais certaines fonctions d'ordre supérieur peuvent réaliser des effets secondaires qui sont transparents pour le programme, comme par exemple une fonction de mémoïsation, de throttle ou de log. Une autre utilisation beaucoup moins courante mais parfois utile est d'utiliser un IIFE pour déclarer des variables locales avant de retourner quelque chose, ce qui permet en gros de simuler un petit module au sein d'un fichier. Enfin, les closures ont longtemps été la seule façon de définir des méthodes et propriétés privées en Javascript.
@danygbe2661
@danygbe2661 Жыл бұрын
okay merci mais du coup je ne vois pas en quoi c'est un concept indispensable à connaitre, je loupe peut être un truc ? @@ApprendreSansNecessite
@ApprendreSansNecessite
@ApprendreSansNecessite Жыл бұрын
@@danygbe2661 c'est indispensable dans la mesure où ça a trait à la portée et à la persistance des variables. Ne pas le maîtriser peut conduire à des fuites de mémoire par exemple (si tu maintiens dans une closure des références vers des objets qui seraient autrement éligibles au ramasse-miettes). Et tout simplement : c'est ce qui permet aux fonctions d'ordre supérieur de fonctionner, or c'est une brique fondamentale du paradigme fonctionnel, Javascript est un langage multi-paradigmes. On ne pourrait écrire aucun combinateur sans closure, pas même la composition de fonctions.
@melvynxdev
@melvynxdev Жыл бұрын
Tu as raison, en gros en React toutes les functions que tu déclares dans un composant à accès au props, c'est les closures par exemple
@danygbe2661
@danygbe2661 Жыл бұрын
d'accord, merci pour les précisions@@ApprendreSansNecessite
@aeldro1410
@aeldro1410 Жыл бұрын
C'est un concept dont j'avais toujours eu du mal à comprendre la logique. Après m'y être repenché dessus, c'est tout de suite plus clair ! On stocke dans une variable le résultat de la fonction qu'on appelle. Comme le résultat de cette fonction est une autre fonction, alors quand on appelle notre variable, on peut lui passer en arguments des valeurs qui représentent les paramètres de la fonction retournée. J'ai cependant noté que la valeur de count est sauvegardée quand on utilise le script depuis un navigateur, mais pas quand on l'exécute dans Node. Quand on y réfléchit, ça semble assez logique puisque dans le cas de Node c'est comme si on réexécutait un nouveau script. Merci beaucoup pour cette petite vidéo qui m'aura bien aidé à me repencher sur une notion avec laquelle j'avais du mal. 😊
@melvynxdev
@melvynxdev Жыл бұрын
Merci beaucoup trop cool que tu y vois plus claire !
@TheSephix57
@TheSephix57 Жыл бұрын
C'est bien créé des closures, perds le scope, créer du garbage. Tes function peuvent être créé dans le scope global.
@melvynxdev
@melvynxdev Жыл бұрын
euh oui
@jeromev5119
@jeromev5119 6 ай бұрын
ou la tu va vite !!!
@melvynxdev
@melvynxdev 6 ай бұрын
sorry :cc
@jeromev5119
@jeromev5119 6 ай бұрын
​@@melvynxdevje commence à apprendre le js et cette fonction c est un casse tête à comprendre
@melvynxdev
@melvynxdev 6 ай бұрын
je comprends !
@saitokojiro7110
@saitokojiro7110 Жыл бұрын
indirectement on les utilise. je sais pas si j'ai bien compris, de base il es presque impossible de modifier tout contenue dans la porté, la seul facon d'y parvenir c'est de passer par le children mais comment ce passe si la porté a possède plusieurs closure function ? et est-ce que la closure function peut devenir une porté et posséder une closure function ?
@melvynxdev
@melvynxdev Жыл бұрын
j'ai pas tout compris ! Quand tu parles de porté tu parles de scope et quand tu parles d'enfant tu parles d'une function dans une autre function ?
@saitokojiro7110
@saitokojiro7110 Жыл бұрын
@@melvynxdev quand je parle de la porté c'est le nom que tu a utilisé pour décrire le parent a 2:45 et quand je parle des children c'est bien les function dans un autre function
@mockinbrd
@mockinbrd Жыл бұрын
Concept intéressant mais attention aux leak mémoire Les références contenues dans les Closure ne sont pas récupérées par le Garbage Collector et augmente donc la taille du heap Evitez donc les objets complexes
@melvynxdev
@melvynxdev Жыл бұрын
Sisi, si une function qui contient une closure n'est plus référencer par JavaScript elle est supprimé.
@jeromeguerin2481
@jeromeguerin2481 Жыл бұрын
Hello Melvyn, merci pour la vidéo. J'ai bien compris le concept mais dans la réalité de tous les jours je ne vois pas dans quel cas ce concept est utilisé... aurais-tu un exemple ?
@melvynxdev
@melvynxdev Жыл бұрын
tu l'utilises tout le temps
@haise191
@haise191 Жыл бұрын
C'est marrant je suis en train de faire ta formation beginJs et je viens de passer ce module
@melvynxdev
@melvynxdev Жыл бұрын
oh yeah !!
Tu Maîtrises assez JavaScript pour passer à React?
3:35
Melvynx • Apprendre à coder
Рет қаралды 4,2 М.
Man Mocks Wife's Exercise Routine, Faces Embarrassment at Work #shorts
00:32
Fabiosa Best Lifehacks
Рет қаралды 6 МЛН
إخفاء الطعام سرًا تحت الطاولة للتناول لاحقًا 😏🍽️
00:28
حرف إبداعية للمنزل في 5 دقائق
Рет қаралды 28 МЛН
La roadmap ULTIME pour apprendre JavaScript en 2024
16:33
Melvynx • Apprendre à coder
Рет қаралды 11 М.
Fetch API pour les nuls en 10 minutes
12:49
Melvynx • Apprendre à coder
Рет қаралды 16 М.
JavaScript Closures Tutorial (Explained in depth)
19:03
ColorCode
Рет қаралды 71 М.
Fantastic closures and how to find them in React
19:04
Developer Way
Рет қаралды 10 М.
J'ARRÊTE d'utiliser NodeJS pour BUN ? (ou pas...)
10:13
Melvynx • Apprendre à coder
Рет қаралды 4,6 М.
JavaScript Visualized - Closures
11:34
Lydia Hallie
Рет қаралды 41 М.
Tu déclares mal tes fonctions JavaScript, voici pourquoi...
11:07
Melvynx • Apprendre à coder
Рет қаралды 4,1 М.
Learn Closures In 13 Minutes
13:22
Web Dev Simplified
Рет қаралды 67 М.