Javascript Closure Tutorial | Closures Explained

Поділитися
Вставка
  • Опубліковано 30 вер 2024

КОМЕНТАРІ • 401

  • @DaveGrayTeachesCode
    @DaveGrayTeachesCode  3 роки тому +77

    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: ua-cam.com/video/_E96W6ivHng/v-deo.html

    • @siya.abc123
      @siya.abc123 3 роки тому +2

      Thank you Dave ❤️

    • @YuRiSsS
      @YuRiSsS 3 роки тому +2

      Thank you for another great video Dave!

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  3 роки тому +1

      @@YuRiSsS you're welcome! 🙏

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  2 роки тому +1

      @Abhijit Desaithank you! That's a great request 💯 I like that idea.

    • @Krisler12
      @Krisler12 2 роки тому +1

      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!

  • @ukaszpospiech3817
    @ukaszpospiech3817 3 роки тому +74

    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.

  • @binadarabzand2701
    @binadarabzand2701 3 роки тому +52

    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.

  • @adventurer2395
    @adventurer2395 2 роки тому +13

    You have a laid back, natural, and clear way of explaining things. Much appreciated!

  • @arescatalin1407
    @arescatalin1407 2 роки тому +8

    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

  • @captainalpha4853
    @captainalpha4853 Рік тому +5

    You explained closures in a way that even a primary school student will understand. You definitely deserve a sub. Thank You so much, Dave!

  • @alexandra.thegreat
    @alexandra.thegreat Рік тому +1

    Excellent explanation, thank very much for this video!

  • @stephaniezun
    @stephaniezun 2 роки тому +4

    Thank you so much for clearly and simply explaining this concept!

  • @aya2222
    @aya2222 3 роки тому +5

    I spent the whole day looking up videos to understand closure, and finally I could find the best one. Thank you so much.

  • @tanzimchowdhury320
    @tanzimchowdhury320 10 місяців тому +1

    Thank you Dave, you just got a new subscriber

  • @SC-bv6kx
    @SC-bv6kx 3 роки тому +5

    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!

  • @umairyatoo8490
    @umairyatoo8490 2 роки тому +4

    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.

  • @Albert_Hall
    @Albert_Hall Рік тому +1

    Great! Great! Great! Thank you very much! Very good explanation! Very good examples!

  • @MasPensador
    @MasPensador 7 місяців тому +1

    Finally I fully understood closure.... thank you and bless you

  • @khaledbenshible2657
    @khaledbenshible2657 Рік тому +1

    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

  • @shivashankar6043
    @shivashankar6043 2 роки тому +3

    Thanks Dave for this video, please continue the advanced js playlist. You explaining hard concepts easy to understand.

  • @gamewidge
    @gamewidge 5 днів тому

    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.

  • @aman7555
    @aman7555 3 роки тому +2

    Hello Dave, wonderful tutorial I followed your videos on closures, scopes and IIFEs and I am a bit confused with the `this` in the anonymous return function of an iffe in the window namespace example. If possible can you please explain the `this` in js and how it choses values for objects and functions in an iffe example, a closure example and event handler example? The confusion lies whether `this` in closures and functions follows the same lexical scope or is it something different from scope altogether? Sorry for bombarding with so many questions on this topic

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  3 роки тому +3

      Good questions, Aman. I could make a separate tutorial on "this" usage. Arrow functions do not have a "this". I usually only use this when I am using Javascript classes. There is a good explanation of "this" usage here: javascript.info/object-methods Thanks for asking! 🙏🚀

    • @aman7555
      @aman7555 3 роки тому +1

      @@DaveGrayTeachesCode Thank you, the video would be very beneficial!

  • @gerar10s
    @gerar10s 3 роки тому +3

    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!

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  3 роки тому +6

      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! 😀🚀

    • @ARandomPerson--
      @ARandomPerson-- 2 роки тому

      Wow that quick explanation really helped. Thx

  • @johnmcaulay4348
    @johnmcaulay4348 2 роки тому +2

    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!

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  2 роки тому +2

      Thanks again, John - check out my tutorials on debounce, throttle, and memoize to see closures put to good use, too. 🚀

  • @je3043
    @je3043 Рік тому +1

    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!

  • @m-ok-6379
    @m-ok-6379 Рік тому +1

    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.

  • @kumarisuman4565
    @kumarisuman4565 2 роки тому +1

    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.

  • @kostiantynkarzhanov9216
    @kostiantynkarzhanov9216 Рік тому +2

    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! 💛

  • @BigSmoke-r9w
    @BigSmoke-r9w 7 місяців тому +1

    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!!

  • @1050cc
    @1050cc 5 місяців тому

    Clean explanation, thank you ! Very powerful but... miserable to debug !??

  • @alexlions8633
    @alexlions8633 Рік тому +1

    Good explanation, thank you sir :)

  • @wzup23
    @wzup23 4 місяці тому

    Thanks dude, it's so clear. I will definitely rewatch this over and over again until I am very familiar with the concept.

  • @captainalpha4853
    @captainalpha4853 9 місяців тому

    Great tutorial! Anyone knows where can I find coding challenges about closures? Thanks!

  • @georgesword2012
    @georgesword2012 Рік тому +1

    Your tutorials are simply the best on UA-cam, thanks for your effort you put for creation high quality content for free ! ❤

  • @48_subhambanerjee22
    @48_subhambanerjee22 3 місяці тому

    ❤❤❤❤❤❤❤ i want to pay you my whole college fee tbh
    Our college professors complicated this shi so hard. This was soo good

  • @jl_117
    @jl_117 10 місяців тому

    I’m hardly even an intermediate javascript programmer lol, but got curious to see advanced JavaScript

  • @wallacepei4529
    @wallacepei4529 3 роки тому +1

    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.

  • @brandonklevans7473
    @brandonklevans7473 9 місяців тому

    Im confused on why i would use this. Im working on a complex script where i read a text file, parse the data and perform calculations, and then write to another text file. Could closures be useful?

  • @mno7x
    @mno7x Рік тому +1

    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!

  • @jennisonb37
    @jennisonb37 Рік тому +1

    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!

  • @ExtraTurtle
    @ExtraTurtle 7 місяців тому

    I'd be happy to also see some closure pitfalls examples. closures are not that useful to know without pitfalls in my opinion. It's just something that you expect to work. however pitfalls show that sometimes closures are against you!

  • @FindingFocus
    @FindingFocus 4 місяці тому

    thank you for wonderful examples! I didn't know this was possible

  • @eleah2665
    @eleah2665 9 місяців тому

    I just reviewed this. You could do a related one on Crockford objects - avoiding classes.

  • @amanpratapsingh3256
    @amanpratapsingh3256 Рік тому

    It would be way cool and will increase the interaction......if you just put a small box in bottom corner of you while teaching.

  • @erfanfarhadi
    @erfanfarhadi Рік тому +1

    your last example was lovely , thank you

  • @amixengineer
    @amixengineer Рік тому

    Great deep dive into closure thanks dave, I guess there is a relation with the process of garbage collection and closures I mean in JS we have dynamically garbage collected pure functions but when it comes to closure the function does not get garbage collected am I right ?

  • @oscargm1979
    @oscargm1979 Місяць тому

    Perfectly perfectly and perfectly explained. Congrats

  • @gopishivakrishna9707
    @gopishivakrishna9707 2 роки тому +1

    Not bored at all. Nicely presented. :)

  • @GrahamO-g5g
    @GrahamO-g5g 6 місяців тому

    Best explaination on the web. Great job sir! Thank you!

  • @abdelbasset8280
    @abdelbasset8280 3 роки тому +1

    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.

  • @grmensz
    @grmensz 10 місяців тому

    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!

  • @alimohammad-lg8sw
    @alimohammad-lg8sw 11 місяців тому

    Thank you so muchhhh
    The best closure explanation ever

  • @tasmimtithe3793
    @tasmimtithe3793 11 місяців тому

    Nice video 🎉. I think the definition would be when a function returns another function that is defined inside the function is a closure function!

  • @NadaAlSharqawy
    @NadaAlSharqawy 2 місяці тому

    This is the only explanation that made me understand it, thank you

  • @punjaniharsh6217
    @punjaniharsh6217 Рік тому

    In IIFE return again IIFE then how's it will behaves ?

  • @joynal_dev
    @joynal_dev 3 роки тому +1

    Your videos are absolute gems 💎. Keep up the good work.

  • @aych23
    @aych23 9 місяців тому

    Is there a reason you used two If statements in the last example? Would an else statement work?

  • @webdevtamil3829
    @webdevtamil3829 10 місяців тому

    Mate! Why is the decorators video not showing for me?

  • @vigneshsa8806
    @vigneshsa8806 4 місяці тому

    You are the John Wick of the Coding world!

  • @bethcarretta5715
    @bethcarretta5715 2 роки тому +1

    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!

  • @nirmalshah9947
    @nirmalshah9947 2 роки тому +2

    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!

  • @sergey.gabrielyan1998
    @sergey.gabrielyan1998 10 місяців тому

    It was very interesting, thank you so much

  • @natediaz406
    @natediaz406 10 місяців тому

    Really great explanation 🎉🎉❤ i really got to you thank a lot 💓

  • @sdsd-ec8rw
    @sdsd-ec8rw Рік тому

    the video is not good. no classics with loops and let/var

  • @onlyonwed526
    @onlyonwed526 8 місяців тому

    Thanks. You re the best explanator :D

  • @Phantom-pj1ls
    @Phantom-pj1ls 6 місяців тому

    I just discovered your channel! Nice job! New subscriber ;)
    One question though... closure and currying are similar concepts then?

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  6 місяців тому

      Two different things, but I see how a comparison could be drawn because you are returning a function.

  • @leoMC4384
    @leoMC4384 2 роки тому

    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. 👏👏👏

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  2 роки тому +1

      Thank you, Leonardo 🙏 You're never too old to do what you love - keep making progress! 💯

  • @boatengjohnson3606
    @boatengjohnson3606 2 роки тому +1

    Nice

  • @szangyi24
    @szangyi24 10 місяців тому

    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 :)

  • @TusharBorawake
    @TusharBorawake 2 роки тому

    This is what closure is...I was just thinking lexical scope is closure. Superbly explained. Thanks alot.

  • @josephochoa1269
    @josephochoa1269 2 роки тому

    Hey Dave! is it possible to say that the example at 3:40 IS an example of a closure, but perhaps an example of a POINTLESS closure. And then the continuing examples are simply showing the benefits of a closure?

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  2 роки тому +1

      All of the examples in this tutorial exist to give simple examples and understanding of closure. I do have some more advanced JS tutorials showing practical applications of closures. Look at the videos I have for memoization, debounce, and throttle as a few examples of closures practically applied.

  • @malchesine
    @malchesine 2 роки тому

    HI Dave. 10x for the clear explanation. U really enlightened me. I have just one (silly? / slightly off topic?) question. I c u have a JS file opened in vscode, and you run your code without any HTML file to host the JS code. Could you please tell me how do you do it?

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  2 роки тому +1

      I actually have the JS file linked to an HTML file. I open the browser first and open the dev tools to show the console. Then I put VS Code over the browser window so only my code and the console are showing.

  • @floriandollani4556
    @floriandollani4556 Рік тому

    Can you make a video explaining the complete road map for front end web developer not only HTML CSS JAVASCRIPT and their frameworks but also the path that we need to follow until we are ready to find a job

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  Рік тому

      I think you are looking for my free Web Dev Roadmap: bit.ly/DaveGrayWebDevRoadmap

  • @jennisonb37
    @jennisonb37 2 роки тому

    Dave, this was really excellently explained. It finally clicked for me. However, like most videos on this subject, I feel like a critical piece of information is missing. The why? So a closure allows me to hide (encapsulate) a function's local variable. Why would we want to do that?

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  2 роки тому

      Thank you! Closure is used in many places once you recognize it. For example, it is used all the time in React. For Vanilla JS, here are a couple of tutorials that use it: 1) Debounce functions: ua-cam.com/video/yBFHwJgqLD4/v-deo.html and 2) Memoization: ua-cam.com/video/TWUV_LRVX24/v-deo.html

  • @IllusionSector
    @IllusionSector Рік тому

    2:15 Wait, whah?! What the hell was that black sorcery there, Dave?! *= () => {...*
    The hell d'ya just do? Talk to me, man!

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  Рік тому +1

      I think you are referring to my use of arrow function expressions instead of using the function keyword? Arrow function expressions are really just anonymous functions assigned to a variable name. MDN: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions

  • @srinivasaraoyp3640
    @srinivasaraoyp3640 2 роки тому

    In the beginning, I found it difficult to understand the topic "closures" it is so confusing. After watching your video demo, I understood it. Thank you very much Dave.

  • @AR7editing
    @AR7editing Рік тому

    Thank you, I really thought that I know closures, but I was completely wrong, nice video

  • @lttaylor2892
    @lttaylor2892 2 роки тому

    Hello Dave. In your explanation of IIFE, At approximately 3:59, when you are explaining that the console.log returns only once, you stated that the console.log only returns once. Could you explain why (when you call this function for the second and third times) doesn't the console.log occur for the second and third time?

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  2 роки тому

      This is a video about closure. I do not see what you are referring to at 3:59. Are you asking about the IIFE video here instead of the comments of the IIFE video?

  • @abhilashpoojary3812
    @abhilashpoojary3812 Рік тому

    Among all videos this is by far the best video on closure. Proper examples thanks for making this video, subs+=1

  • @tojifushigoro3134
    @tojifushigoro3134 8 місяців тому +1

    I has started learning web dev from your html videos ...last april .. thanx for teaching us and making begginer understand the relevant topics....

  • @Krisler12
    @Krisler12 2 роки тому

    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!

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  2 роки тому +1

      As you mention, there is no way to hide JS code that is client-side. If you send it to the browser, they have it. That leaves the only viable option of running the JS you do not want them to see on a server. It doesn't have to be your host server though. You could use a serverless solution which is what I'm guessing the third party services you are referencing use. The name serverless is a misnomer. It still runs on a server. I have a video about creating your own serverless functions here: ua-cam.com/video/J7RKx8f4Frs/v-deo.html

  • @basharhamdan8055
    @basharhamdan8055 2 роки тому

    Thanks had problems with understanding Closure... wish my prof. could do as good of a job explaining thing like you do

  • @vinaypatil8009
    @vinaypatil8009 2 роки тому

    Love from india ❤️🎉
    OP explanation with perfect speed of speaking and examples are perfect to understand closure.

  • @DLeRoux
    @DLeRoux 2 роки тому

    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.

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  2 роки тому

      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.

  • @jaycodes8790
    @jaycodes8790 2 роки тому

    hey dave! thanks for sharing the knowledge, and for the channel.
    Could you please make a video on "Prototypal Inheritence" ?

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  2 роки тому

      Thank you, Jacob! I've got one here: ua-cam.com/video/mQ4oCgcgHOA/v-deo.html

  • @harvard004
    @harvard004 2 роки тому

    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

  • @mi5956
    @mi5956 2 роки тому

    Thank you for clear examples, I finally understood. I looked at other youtubers and it was confusing.

  • @carsugarmodels
    @carsugarmodels 2 роки тому

    Awesome explanation! Subscribed and digging other videos! Thanks man!

  • @sugarfairy1248
    @sugarfairy1248 6 місяців тому

    well chosen examples demonstring the unique characteristics of closure. Finally undertand it now!

  • @SweepAndZone
    @SweepAndZone 10 місяців тому

    Can you explain to mean more Indepth about context execution when dealing with closures? I feel like that is important to mention.

  • @kutaykaganozen2463
    @kutaykaganozen2463 2 роки тому

    Great video, there is something that I dont understand though, and I dont think that it is about Closure at all. When we try to log the result of myValue at 9:12, it gives out a reference error but isnt this just because myValue is in the function scope and we cannot access it outside the function ? I don't understand what that has to do with myValue being a "private value" as you point out ? Second thing is, even before we return the childFunction, say when the code was like what it was at 4:24, when we call parentFunction() multiple times, it still increments both x and myValue, so, the childFunction keeping it inside the memory and having access to its parent scope is just about Lexical Scope isnt it ? It does not have anything to do with closure ?

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  2 роки тому

      Thank you! Your first question - We are saying the same thing, but you are saying it with what you already understand about scope. Yes, myValue is in the function scope, but it is also a private variable that can be accessed by the ChildFunction anytime we call ChildFunction. It is in the lexical scope of the ChildFunction. Your second question - I define closure in this video. Lexical scope is NOT closure. Closure is possible through the use of lexical scope though. Start at 3:52 and watch through 4:30 or so for the specific definition of closure from w3schools.

  • @atmsudawa6925
    @atmsudawa6925 Рік тому

    But why is the last value of x become 16 ? . Thank you for this amazing explanation though

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  Рік тому +2

      You're welcome. I would have to re-watch this video to remember my examples. I did recently create a 1 minute JS Closure explanation that may help you: ua-cam.com/users/shortsFcrdHbrBVgA

  • @alexmassy
    @alexmassy 2 роки тому

    Excellent ! I was struggling to understand dynamic between Closure and Lexical Scope.

  • @MB-hn5qk
    @MB-hn5qk 5 місяців тому

    Probably the best Closures video I have ever watched. Thanks!!

  • @romanr5962
    @romanr5962 2 роки тому

    Brilliant explanation IIFE , my friend.Thanks

  • @stavroskefaleas6320
    @stavroskefaleas6320 3 місяці тому

    Best video tutorial on javascript closures on the whole internet.
    Period!

  • @RD-jr8nv
    @RD-jr8nv Рік тому

    Great videos man. Loving your content. Love the axe behind you too, RIP Eddie!

  • @dopetag
    @dopetag Рік тому

    The best teacher to explain advanced concepts of Javascript. Instant subscription!

  • @mohammedjoubba318
    @mohammedjoubba318 5 місяців тому

    very nice explanation thank you

  • @SuperDarmino
    @SuperDarmino Рік тому

    Replayed this video several times. I think i now get it finally 😂. W3 definition makes alot of sense now.

  • @samahgad241
    @samahgad241 2 роки тому

    I love your explanation so much, thanks from Egypt.

  • @makhloufioussama4983
    @makhloufioussama4983 2 роки тому

    thank you, this tut is amazing , learning with examples is helpful also ,thank you again

  • @jiweihe3413
    @jiweihe3413 2 роки тому

    Thank you! Finally understood this important concept.

  • @InnaKasyan-f8h
    @InnaKasyan-f8h 2 роки тому

    Thank you ! The explanation is extremely clear for beginners.