Closure is often confused with Lexical Scope. Lexical Scope is an important part of closure, but it is not closure by itself. This tutorial provides several examples that should allow you to distinguish between lexical scope and closure. This tutorial should also allow you to learn how to give examples of closure if you are asked during the interview process. It is important to understand scope when we discuss closure. If you need to learn more about scope, check out my scope tutorial here: ruclips.net/video/_E96W6ivHng/видео.html
Hi! Supposing you have some secret JavaScript functions that you don't want anyone to know. Also, that code (functions) are very resource consuming and this is why they need to be client side and not server side so you can't write those functions in python or php. Also, obfuscation of JavaScript is not useful since it can be easily deobfuscated or seen by placing a breakpoint in the debugging tools in the browser. This been said, could you make, please, a tutorial teaching us the best way to protect your secret JavaScript functions without paying for third party services? Thank you so much in advance!
Out of all the yt tutorials on closures I've watched today, this one's been by far the best. Clearly explained step-by-step with readable code as illustration. Calm voice, proper English pronunciation and slow pace of speaking matter particularly to beginners like me. Unlike most teacher-coders on yt, you're actually capable of teaching. Thank you, good job, I'm going to watch more of your tutorials.
Thank you, Dave! An extremely complex concept was explained clearly. Finally, I understood what closure is and how to use it in my code. The IIFE was a cherry on top. Thank you again.
This is the first video I've come across, so far, that really goes deep into clearly explaining that simply having an inner function and logging its parents' variables isn't a closure but a lexical scope. Brilliant!
I discovered you today, Dave and I am highly impressed with your teaching style. Unlike many other YT videos that teach all this stuff, I can actually understand you. (So many are hard to follow due to the thick accent of the instructor.) I'm looking forward to delving into other videos you have. Thank you!
I can't tell you how much I appreciate the pace of your speaking voice when explaining these concepts. So many of these youtube videos, the person is talking insanely fast, and I cannot keep up with all of it.
You've earned yourself a subscriber with this video, your examples and they way you explain things clearly has helped me grasp this concept. After watching about 10 videos and reading numerous blog posts, I was really struggling to visualise what was going on. The next time I get stuck I'll be referring to your channel . Thanks Dave.
I have smashed that like button and I hope that this playlist keeps growing as these concepts really make a difference. Thank you for sharing your knowledge with us
Just learned closure several days ago. This video definitely helped me review the concept. It also helped me clear up the confusion about lexical scope. Thanks Dave!
I was writing closure example after example without really understanding the reason behind it and this video with credit example finally got the closure idea to click. Thank You.
Thank you very much, Dave. You explained it in a very beautiful way possible. You know I had been struggling from this since long. There wasn't any such explanation on the internet! Thanks a lot.
this is an underrated tutorial, i had to got to the bottom of the page on the youtube to get this video. these explanations & examples are more than enough to understand what closure is.
Thanks man, I've been struggling with this for days! This video finally made me understand closures (it gave me the aha! moment). I liked the way your video went beyond the cliche closure examples which weren't allowing me to actually understand practical uses for closures. Subscribed!
Dave, thank you so much for your tutorials! All of them are very well structured and easy to understand. I really appreciate all the work you do. Thanks again. Awesome channel! 💛
The majority of videos made by other content educational creators across various websites talk like they're rappers, you sir are different. Things went much clearer after this video and made me realize that the majority of my confusion is because most of my searches were actually lexical scopes and not closures. I really am indebted to you.
Thanks for all you do, Dave. Your videos are the best. I've watched several videos on closures, but none of them explained it better than you did. I finally understand closures!
I wish I had stumbled across your video sooner! I've been trying to wrap my brain around closures for so long. Super helpful! You got a new subscriber!
Thank you for your video! This is the most understandable explanation of closures I've seen and has solidified my understanding of the concept. Really appreciate the emphasis on what "lexical scope" is and how it's an integral part of -- but not the whole story with -- closures. Truly awesome! Thank you, good sir!
Before coming across your video I had already watched three other ones that weren't explanatory enough for me. Thank you so much for this video; I got everything. Thank you.
Just a quick thought. I think the "credits =- 1" line should be at the end of the function since we need to check credits' amount first to evaluate the possibility of playing. In the example we should be able to play 3 times and it only allows two plays. Everything aside, great video and I always find your explanations very helpful!
Dave, thank you so much for this tutorial. I finally got my "Gotchaa!" moment about closures. I watched several explanations before but this really helped me to understand. Lifesaver :)
I "Thumbs Upped" your video. I've been studying JS recently for a few months, and to my surprise everything is getting easier to understand, like I'm on the steeper part of the learning curve. I've been getting a clearer picture of what closures are, but your explanation helped even more to demystify closures to me. You have a very sensible, logically explanatory and intelligent way of explaining closures. I'll be checking out your other videos because I like your teaching style. Who knows, maybe I'll buy you a cup of coffee :).
12:45 The important highlight he mentions. IIFE code happens once. The anonymous function inside it only get's returned ONE time (to privateCounter). After that, you can look at privateCounter as: privateCounter = () => { count +=1; console.log(count) } //but with it's own access to private variable "count". -I'm guessing you can say it has enClosed it's scope over the function and it's declared variables. 5:45
Hi Dave, I just thought of a way to explain closures in terms of bubble universes. The returned function can be thought of as containing variables in its own bubble universe.
This video was an instant subscribe. It was well thought out and clear, and I now understand two concepts much better than ever before. Closure kind of blew my mind. Thank you so much for sharing your knowledge!
I've been programming on JavaScript for over 2 years, I hope I'll feel ready to apply for a job soon, even being old to start, I'm 36. Until now, if I was asked about Closure I replied about lexical scope. The IIFE explanation was interesting although I knew it already, because I used them on my API. I do full stack with MERN. Anyway, great video, very clear explanation. 👏👏👏
Great video! This explains a lot and you've got a new subscriber. It might be my lack of Javascript knowledge but I still don't quite understand why after the first time, every time the parent function is called, only the child function executes and not the WHOLE parent function. I'm going to watch it a few more times and see if it sinks in. Thanks for the video!
Glad it was helpful! This explanation may help... The parent function is only called once. It returns the "child" function. The variable is therefore set to the child function that is returned. Afterwards, using the variable, only the child function is called. The closure allows the child function to still access the variable that was created within the parent. What we're really referring to here is the lexical scope of the function that is returned, but using the parent and child terminology could help! 😀🚀
Dave, you need to seriously consider putting together a Javascript course with projects for Udemy. Your explanations are crystal clear. I have found myself doing course after course, stopping, and then trying to find someone else who would be able to explain the concept a bit clearer than the instructor. It wastes a lot of time. I have found myself coming here for the past three or so concepts, and they click straight away. So thank you.
Thank you for an excellent learning experience! By far the best explanation of what initially appears to be a difficult concept. Subscribing so that I can actually learn to understand things from an excellent teacher!
Hi DaveGray, I’m a student and have completed learning the MERN stack from your channel. I would love to see a course focused on building microservices with serverless architecture. It would be great if you could cover topics like designing, deploying, and scaling microservices using platforms such as AWS Lambda please.
Closure is often confused with Lexical Scope. Lexical Scope is an important part of closure, but it is not closure by itself. This tutorial provides several examples that should allow you to distinguish between lexical scope and closure. This tutorial should also allow you to learn how to give examples of closure if you are asked during the interview process. It is important to understand scope when we discuss closure. If you need to learn more about scope, check out my scope tutorial here: ruclips.net/video/_E96W6ivHng/видео.html
Thank you Dave ❤️
Thank you for another great video Dave!
@@renatoscraft you're welcome! 🙏
@Abhijit Desaithank you! That's a great request 💯 I like that idea.
Hi!
Supposing you have some secret JavaScript functions that you don't want anyone to know. Also, that code (functions) are very resource consuming and this is why they need to be client side and not server side so you can't write those functions in python or php.
Also, obfuscation of JavaScript is not useful since it can be easily deobfuscated or seen by placing a breakpoint in the debugging tools in the browser.
This been said, could you make, please, a tutorial teaching us the best way to protect your secret JavaScript functions without paying for third party services?
Thank you so much in advance!
Out of all the yt tutorials on closures I've watched today, this one's been by far the best. Clearly explained step-by-step with readable code as illustration. Calm voice, proper English pronunciation and slow pace of speaking matter particularly to beginners like me. Unlike most teacher-coders on yt, you're actually capable of teaching. Thank you, good job, I'm going to watch more of your tutorials.
Glad I could help, and thank you! 🙏💯
Thank you, Dave! An extremely complex concept was explained clearly. Finally, I understood what closure is and how to use it in my code. The IIFE was a cherry on top. Thank you again.
Glad to hear it and you're welcome! 💯
You have a laid back, natural, and clear way of explaining things. Much appreciated!
Thank you for the kind words! 🙏🙏
This is the first video I've come across, so far, that really goes deep into clearly explaining that simply having an inner function and logging its parents' variables isn't a closure but a lexical scope. Brilliant!
Glad it was helpful!
I spent the whole day looking up videos to understand closure, and finally I could find the best one. Thank you so much.
Thank you so much for the kind words! 🙏💯
I discovered you today, Dave and I am highly impressed with your teaching style. Unlike many other YT videos that teach all this stuff, I can actually understand you. (So many are hard to follow due to the thick accent of the instructor.) I'm looking forward to delving into other videos you have. Thank you!
You explained closures in a way that even a primary school student will understand. You definitely deserve a sub. Thank You so much, Dave!
You're welcome!
I can't tell you how much I appreciate the pace of your speaking voice when explaining these concepts. So many of these youtube videos, the person is talking insanely fast, and I cannot keep up with all of it.
I'm glad it helps! 💯 If anyone wants it faster, RUclips lets them speed it up 😀
Dave grey taught me html and css! Now he's teaching me one of the javascript topics I find hard to understand! I love this guy, he's the best!!
I has started learning web dev from your html videos ...last april .. thanx for teaching us and making begginer understand the relevant topics....
You've earned yourself a subscriber with this video, your examples and they way you explain things clearly has helped me grasp this concept. After watching about 10 videos and reading numerous blog posts, I was really struggling to visualise what was going on. The next time I get stuck I'll be referring to your channel . Thanks Dave.
Great! Great! Great! Thank you very much! Very good explanation! Very good examples!
You are welcome!
I have smashed that like button and I hope that this playlist keeps growing as these concepts really make a difference. Thank you for sharing your knowledge with us
You're welcome! Glad I could help 💯
Just learned closure several days ago. This video definitely helped me review the concept. It also helped me clear up the confusion about lexical scope. Thanks Dave!
You're welcome! 💯
I was writing closure example after example without really understanding the reason behind it and this video with credit example finally got the closure idea to click. Thank You.
Glad to hear it helped!
I spent the whole day looking up videos to understand closure. finally i git it so Thank you so much for clearly and simply explaining
Finally I fully understood closure.... thank you and bless you
Best closure explanation I have ever watched!
감사합니다.
Thank you for the support! 🙏
your last example was lovely , thank you
Glad you liked it!
Excellent explanation, thank very much for this video!
Thank you Dave, you just got a new subscriber
Thank you very much, Dave. You explained it in a very beautiful way possible. You know I had been struggling from this since long. There wasn't any such explanation on the internet! Thanks a lot.
You're welcome, Umair 🙏
Thank you so much for clearly and simply explaining this concept!
You're welcome, Stephanie!
this is an underrated tutorial, i had to got to the bottom of the page on the youtube to get this video. these explanations & examples are more than enough to understand what closure is.
Glad it helped!
This is by far the best tutorial on closures I've watched. Thank you!
Glad it was helpful!
Thanks man, I've been struggling with this for days! This video finally made me understand closures (it gave me the aha! moment).
I liked the way your video went beyond the cliche closure examples which weren't allowing me to actually understand practical uses for closures.
Subscribed!
Thanks again, John - check out my tutorials on debounce, throttle, and memoize to see closures put to good use, too. 🚀
Dave, thank you so much for your tutorials! All of them are very well structured and easy to understand. I really appreciate all the work you do. Thanks again. Awesome channel! 💛
You're welcome!
The majority of videos made by other content educational creators across various websites talk like they're rappers, you sir are different. Things went much clearer after this video and made me realize that the majority of my confusion is because most of my searches were actually lexical scopes and not closures.
I really am indebted to you.
You're welcome!
Best video tutorial on javascript closures on the whole internet.
Period!
Thank you!
Your tutorials are simply the best on RUclips, thanks for your effort you put for creation high quality content for free ! ❤
Very clear 👌👌👏👏
Thank you! Cheers!
Thanks for all you do, Dave. Your videos are the best. I've watched several videos on closures, but none of them explained it better than you did. I finally understand closures!
Awesome, thank you!
Probably the best Closures video I have ever watched. Thanks!!
Glad you liked it!
I wish I had stumbled across your video sooner! I've been trying to wrap my brain around closures for so long. Super helpful! You got a new subscriber!
Thank you, Beth!
I really found this explanation about lexical scope and closure the best one from RUclips. Thank you.
Glad it was helpful! 💯
Thank you for your video! This is the most understandable explanation of closures I've seen and has solidified my understanding of the concept. Really appreciate the emphasis on what "lexical scope" is and how it's an integral part of -- but not the whole story with -- closures. Truly awesome! Thank you, good sir!
The best and detailed "Closure" explanation on the internet
Thank you! 🙏🚀
Not bored at all. Nicely presented. :)
Thank you! 🙏
Before coming across your video I had already watched three other ones that weren't explanatory enough for me. Thank you so much for this video; I got everything. Thank you.
You're welcome! 💯
Thanks Dave you could help me to understand the most confusing concept in js, after I read a lot of articles and watched a ton of tutorials.
You're welcome! Glad I could help. 💯
It’s so refreshing to listen,well explained.Thank you Dave
You are very welcome
The best teacher to explain advanced concepts of Javascript. Instant subscription!
Welcome aboard! 💯🚀
i watched too many closure videos but first time i understand clearly . thank you so much
Glad it helped! 💯
I watched maybe 10 videos on closure. Finally one person can explain it well, Dave Gray! You also crushed on that song white ladder.
Ha! I do share my name with a few others, but I'm glad I could help with closures! 💯🚀
This was Amazing Dave!!
Perfectly perfectly and perfectly explained. Congrats
Thanks dude, it's so clear. I will definitely rewatch this over and over again until I am very familiar with the concept.
Just a quick thought.
I think the "credits =- 1" line should be at the end of the function since we need to check credits' amount first to evaluate the possibility of playing. In the example we should be able to play 3 times and it only allows two plays.
Everything aside, great video and I always find your explanations very helpful!
Your videos are absolute gems 💎. Keep up the good work.
Thank you! 🙏
Thank you for clarifying IIFE, it's syntax that has been tripping me up and now I understand what it's doing. Excellent demonstrations for closures.
Thank you, Wallace. 🙏
This is by far the best explanation of JS closure. Thank you Dave. I'm glad I came across your channel.
Glad it was helpful!
Good explanation, thank you sir :)
Welcome!
well chosen examples demonstring the unique characteristics of closure. Finally undertand it now!
Clear, simple, concise, well spoken and very useful. I followed along with your code in my IDE (Velo) with no difficulty. Thank you.
Great to hear!
This is what closure is...I was just thinking lexical scope is closure. Superbly explained. Thanks alot.
You are welcome, Tushar! 🙏
Thanks Dave for this video, please continue the advanced js playlist. You explaining hard concepts easy to understand.
You're welcome, Shiva! I do plan to do more 🚀🙏
thank you, Dave! as always, easy to understand, yet consise and to the point.
Glad it was helpful! 🚀
This was a great video. I was struggling with closures for some days but now I feel like i understand it now. THANKS Again it was a great video.
Thank you, Kumari. Glad I could help!
One of the best video on closure
Dave, thank you so much for this tutorial. I finally got my "Gotchaa!" moment about closures. I watched several explanations before but this really helped me to understand. Lifesaver :)
Glad it helped!
This is the only explanation that made me understand it, thank you
Finally , finally I could wrap my head around this concept. It's so basic and easy.
Glad I could help! 💯
Best explaination on the web. Great job sir! Thank you!
This is the best tutorial on Closures.
Thank You!
Glad it was helpful!
People misunderstand js a lot. People like u make it relevant for us js peeps. Keep going!
Thank you!
wow...Great explanation...Thank you, Dave...
this man, helps me to understand closure quickly and easily!
Glad to hear it! 🚀
I "Thumbs Upped" your video. I've been studying JS recently for a few months, and to my surprise everything is getting easier to understand, like I'm on the steeper part of the learning curve. I've been getting a clearer picture of what closures are, but your explanation helped even more to demystify closures to me. You have a very sensible, logically explanatory and intelligent way of explaining closures. I'll be checking out your other videos because I like your teaching style. Who knows, maybe I'll buy you a cup of coffee :).
Thank you for the kind words 🙏💯
12:45 The important highlight he mentions.
IIFE code happens once. The anonymous function inside it only get's returned ONE time (to privateCounter). After that, you can look at privateCounter as:
privateCounter = () => { count +=1; console.log(count) } //but with it's own access to private variable "count".
-I'm guessing you can say it has enClosed it's scope over the function and it's declared variables. 5:45
Best video about closure so far. You are a very good teacher.
Thank you, Ren! 🙏
Hi Dave, I just thought of a way to explain closures in terms of bubble universes. The returned function can be thought of as containing variables in its own bubble universe.
Thank you so muchhhh
The best closure explanation ever
Finally I understood JS closures!
Subscribed!
Glad to hear that!
This video was an instant subscribe. It was well thought out and clear, and I now understand two concepts much better than ever before. Closure kind of blew my mind. Thank you so much for sharing your knowledge!
Welcome aboard! And glad it was helpful!
I've been programming on JavaScript for over 2 years, I hope I'll feel ready to apply for a job soon, even being old to start, I'm 36. Until now, if I was asked about Closure I replied about lexical scope. The IIFE explanation was interesting although I knew it already, because I used them on my API. I do full stack with MERN. Anyway, great video, very clear explanation. 👏👏👏
Thank you, Leonardo 🙏 You're never too old to do what you love - keep making progress! 💯
Thank you for clear examples, I finally understood. I looked at other youtubers and it was confusing.
Glad it was helpful! 💯
Great video! This explains a lot and you've got a new subscriber. It might be my lack of Javascript knowledge but I still don't quite understand why after the first time, every time the parent function is called, only the child function executes and not the WHOLE parent function. I'm going to watch it a few more times and see if it sinks in. Thanks for the video!
Glad it was helpful! This explanation may help... The parent function is only called once. It returns the "child" function. The variable is therefore set to the child function that is returned. Afterwards, using the variable, only the child function is called. The closure allows the child function to still access the variable that was created within the parent. What we're really referring to here is the lexical scope of the function that is returned, but using the parent and child terminology could help! 😀🚀
Wow that quick explanation really helped. Thx
Dave, you need to seriously consider putting together a Javascript course with projects for Udemy. Your explanations are crystal clear. I have found myself doing course after course, stopping, and then trying to find someone else who would be able to explain the concept a bit clearer than the instructor. It wastes a lot of time. I have found myself coming here for the past three or so concepts, and they click straight away. So thank you.
Thank you, Darryl! I do hope to put a premium course together sometime later this year. I am not sure if Udemy is where I will launch it though.
Thanks, Dave! You are really good at explaining! 😊
You're welcome, Joosep!
Thank you ! The explanation is extremely clear for beginners.
Glad it was helpful! And you're welcome! 💯
This is the best closure explanation for me... Great work.
Glad it was helpful! 💯🚀
This was a masterclass on how to explain abstract concepts with easy-to-follow, real-world examples. Thank you. Subbed!
Awesome, thank you!
Awesome explanation! Subscribed and digging other videos! Thanks man!
Thank you! 💯🚀
This tutorial is so well structured it simplified the closure concept in a brilliant way!! Thanks a lot
You're welcome! 💯
Thank you for an excellent learning experience! By far the best explanation of what initially appears to be a difficult concept. Subscribing so that I can actually learn to understand things from an excellent teacher!
Thank you Mr.Gray 🤍
You're very welcome! 💯
awesome explanation Dave!!!Thank you
You're welcome!
@@DaveGrayTeachesCode can you pls make a tutorial on Data structures 😃in javascript
just found out about this series! Loving them
Thank you, Chetan! Glad you like it! 💯
finally found a video about closures that makes sense. Thanks
Glad it helped!
Thanks. You re the best explanator :D
Good job Dave, thank you so much.
You're welcome!
You made closure clear to me! Thank you so much!
Glad it helped!
Excellent explanation of closure. Thank you!
You're very welcome! 💯
thank you very much for putting effort in making these tutorials !!!
You're welcome!
This is really great explanation! Thank-you Mr. Dave
You're welcome! 💯🙏
Hi DaveGray,
I’m a student and have completed learning the MERN stack from your channel. I would love to see a course focused on building microservices with serverless architecture. It would be great if you could cover topics like designing, deploying, and scaling microservices using platforms such as AWS Lambda please.
Thank you! Finally understood this important concept.
Glad I could help!
You are the best one that explained it. Thank you a lot.
You are welcome!