JavaScript Closures Tutorial (Explained in depth)

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 พ.ย. 2024

ความคิดเห็น • 269

  • @ColorCode-io
    @ColorCode-io  3 ปีที่แล้ว +24

    JavaScript closures! 🎉💻

    • @satk2554
      @satk2554 2 ปีที่แล้ว +1

      It's been a month and half, please drop in the finale...!!!

    • @ColorCode-io
      @ColorCode-io  2 ปีที่แล้ว +1

      @@satk2554 Most likely this weekend.

    • @CSCoreDecoded
      @CSCoreDecoded 2 ปีที่แล้ว +1

      can you explain Hoisting in js too😊

    • @ColorCode-io
      @ColorCode-io  2 ปีที่แล้ว

      @@CSCoreDecoded Good idea

  • @dansmar_2414
    @dansmar_2414 2 ปีที่แล้ว +58

    It's not just a javascript tutorial, but also how to comunicate and express yourself. This series is on my top bookmarks now. Thank you again!

    • @ColorCode-io
      @ColorCode-io  2 ปีที่แล้ว +1

      You’re welcome! 😀

  • @nyxthevoyager
    @nyxthevoyager 10 หลายเดือนก่อน +6

    The intro was a couple of seconds, but pretty inspirational. Thank you! I decided to change my career at 28, and everyone looks like they know everything about programming. I am too late for the party. Knowing this little ptsd of yours is supportive of people like me!

    • @ColorCode-io
      @ColorCode-io  10 หลายเดือนก่อน +4

      You are definitely not too late to the party. You have plenty of time. Keep pushing.

    • @0ninetyseven97
      @0ninetyseven97 3 หลายเดือนก่อน +1

      30 ✋🏼

    • @nyxthevoyager
      @nyxthevoyager 3 หลายเดือนก่อน

      @@0ninetyseven97 good luck!

  • @snode373
    @snode373 3 ปีที่แล้ว +3

    Dude. A real person here. Thank you for everything. I'll always come back here and will bring others with me. Much love ✌🏽

    • @ColorCode-io
      @ColorCode-io  3 ปีที่แล้ว

      Thank you. Made my day :)

  • @thomaswinterburn6680
    @thomaswinterburn6680 ปีที่แล้ว +10

    Excellent video explains it so well, I did some digging and found why it stays in memory.
    So like quantum entanglement theory, the outer function is entangled with the inner functions so, the JavaScript engine uses garbage collection to clean up memory that is no longer reachable.
    Because the inner function still has a reference to the outer function's environment, that environment is considered reachable and isn't garbage-collected. This allows the inner function to access variables from the outer function even after it has finished executing.

    • @ebcoutinho
      @ebcoutinho 6 หลายเดือนก่อน

      thanks for this dude

  • @75jkd
    @75jkd 2 ปีที่แล้ว +6

    I am in a full stack program and I think I learned more about closures in this video then the class on them in school. Awesome!

    • @ColorCode-io
      @ColorCode-io  2 ปีที่แล้ว +1

      Glad I could be helpful. What are you learning in your class?

    • @thomaswinterburn6680
      @thomaswinterburn6680 ปีที่แล้ว

      School for fool @@ColorCode-io

  • @eumm11
    @eumm11 ปีที่แล้ว +2

    these videos are so well done that you barely notice the time passing

  • @anejasahil
    @anejasahil ปีที่แล้ว +1

    The best explanation of closures on TH-cam i have ever seen

  • @aziham.
    @aziham. ปีที่แล้ว +2

    Wow, Sina! Your last example on closures was exactly what I needed to finally appreciate their usefulness.
    Previously, when passing a function to an event handler, I always wondered how I could pass something to that function while also passing it to the event handler.
    I was concerned that it would execute immediately rather than when the event occurred, and that I would only have access to the event object.
    However, your example has answered all of my questions.
    Thank you so much, Sina! Your teaching style is phenomenal, and I would love to see you make a video tutorial on JS debouncing. I've watched a lot of videos on the subject, but I think your approach would be particularly helpful.

    • @ColorCode-io
      @ColorCode-io  ปีที่แล้ว

      Thanks, that’s a good idea.

  • @rafahathibrahim
    @rafahathibrahim ปีที่แล้ว +1

    First time on your channel and now also my favourite for javascript. Theres so much quality in your work, and that too is for free. Thankyou, you have my utmost respect.

  • @mattsmith6828
    @mattsmith6828 ปีที่แล้ว +1

    @10:30 -
    This all makes sense. I think it's also worth noting the difference between instance variables (object properties) and local variables - which can be created in a function but not in other objects.
    Inside of this function, "const name = n", the variable "name" is a local variable. The only ways to access this variable are to access it from inside of the function, to use a "getter" function or include it in a "return" expression.
    On the other hand, inside of a function, instance variables (not listed in this function) are declared using the "this" keyword as an access modifier. Ex - this.age = 21
    Instance variables inside of a function are basically the same as a property inside of an object (excluding functions).
    Instance variables are accessible from outside of a function, but only after creating an INSTANCE of that function, hence the name.
    Local variables inside of a function are inherently protected because they have block-level scope to that function.
    Parameters in a function are actually declared and instantiated in the body of the function as local variables.
    In this example, he's using "human" as a (callable) function, and not as an object. I know this because he's invoking "human" without the "new" keyword, and he also included a "return" expression.
    It's also a hint that he didn't create any instance variables, using the "this" keyword.
    I hope this helps someone. I'm still relatively new at this, but I think I'm catching on. Great video!!!

  • @thegohmez6816
    @thegohmez6816 ปีที่แล้ว +1

    Amazing. About halfway through I figured out....I have been using closures this whole time. Another great example is writing a custom hook to fetch in React. Great stuff. You describe things really well.

    • @ColorCode-io
      @ColorCode-io  11 หลายเดือนก่อน

      Awesome 🎉

  • @mabutzke
    @mabutzke 2 ปีที่แล้ว

    This explanation was great! I went ahead and created this crazy closure example lol. It creates a function on the fly with a combination of function factories:
    function math() {
    function calc(x) {
    return function (y) {
    return x / y
    }
    }
    return function (n) {
    const y = calc(n)
    return function (z) {
    return y(z) // Function created on the fly
    }
    }
    }
    const divide = math()
    const example = divide(6)(3)
    const example2 = divide(12)(4)
    console.log(example) // 2
    console.log(example2) // 3

    • @ColorCode-io
      @ColorCode-io  2 ปีที่แล้ว

      Push it up to GitHub and send me a link. Very difficult to read it in comments.

  • @AhmadAli-wt8zy
    @AhmadAli-wt8zy 3 ปีที่แล้ว +10

    why this guy don't have subcribers?

    • @OctopusWreckerr
      @OctopusWreckerr 3 หลายเดือนก่อน

      He’s an alien 👽!!

    • @netsurfer2006
      @netsurfer2006 2 หลายเดือนก่อน +1

      It's good for us, developers because if he had a good amount of subscribers the job market would have been more challenging.

  • @estoyboy
    @estoyboy 4 หลายเดือนก่อน

    Something very comforting about watching this expert repeatedly make the same typos I would make

    • @ColorCode-io
      @ColorCode-io  4 หลายเดือนก่อน +1

      Happens to all of us

  • @randymartin9040
    @randymartin9040 หลายเดือนก่อน +1

    I always wondered why I couldn't run a function as a callback for a click eventlistener with a given value.. why it wouldn't work until this video. Thank you very much!

    • @ColorCode-io
      @ColorCode-io  27 วันที่ผ่านมา

      Glad I could help!

  • @steffancrowley
    @steffancrowley 2 ปีที่แล้ว +2

    Honestly this is the best video on the closures I’ve seen, thanks!

  • @jakobo5521
    @jakobo5521 หลายเดือนก่อน

    That was awesome! Finally someone with straight and understandable explenation. Thanks a lot for this!

  • @Icode2395
    @Icode2395 10 หลายเดือนก่อน +2

    The Last example was insane🔥

    • @ColorCode-io
      @ColorCode-io  10 หลายเดือนก่อน

      🔥

    • @xViolaine
      @xViolaine 10 หลายเดือนก่อน

      Pretty sure it's also directly taken from MDN Webdocs under "Practical Closures"

  • @B-Billy
    @B-Billy 2 ปีที่แล้ว +19

    This is first time on your channel, and I am amazed by the the knowledge you put and the video editing & presentation skills are PRO. Perfect!! 🎉🎉

    • @ColorCode-io
      @ColorCode-io  2 ปีที่แล้ว

      Thank you

    • @tyv1383
      @tyv1383 ปีที่แล้ว

      I feel like he should have more subscribers, it’s the only closure video I’ve seen so far that goes really in depth with the examples

    • @arghyadas2836
      @arghyadas2836 ปีที่แล้ว

      @@tyv1383 I totally agree. These videos are really well explained. His presentation is also top notch.

  • @vladislavamarkova8379
    @vladislavamarkova8379 3 ปีที่แล้ว +13

    Another great explanation of a topic which is indeed hard to grasp! Clear, practical, and so nice to watch! Thank you, keep going that way. Wish you all good! : )

  • @alexgill1997
    @alexgill1997 3 ปีที่แล้ว +3

    Another great video! An ASYNC video would be a blessing!

  • @J4RMAMS
    @J4RMAMS ปีที่แล้ว +1

    You’re great Sina!!! You’re god sent and put out quality content that clarifies JavaScript concepts that are sometime not very digestible for new developers and aspiring ones.

  • @jatilyadav4000
    @jatilyadav4000 ปีที่แล้ว +2

    New Subscriber... Just loved your content...Want to gain more knowledge from your content... Keep uploading Best of luck Sir.........

  • @danielbenson2627
    @danielbenson2627 ปีที่แล้ว +1

    TBH, your YT Shorts invited me to your channel, as you were among the few to successfully fit the concept of closures in a minute video 😅😅
    Coming to your page for the first time today, i am really glad for TH-cam to suggest your page to me
    Thank you for the Teaching, very attention grabbing and visual... God bless you ❤❤

    • @ColorCode-io
      @ColorCode-io  ปีที่แล้ว +1

      Thanks for taking the time to write 👍

  • @mlbbfans
    @mlbbfans ปีที่แล้ว +1

    Really like the way you explain the concepts. How nice would it be if you create a video convering all the fundamentals of JavaScript in one video

  • @toneking972
    @toneking972 2 ปีที่แล้ว +1

    Great explanation. I would add that variable value is long lived because closure variables are placed into heap memory and not the stack memory.

  • @sumonbarai178
    @sumonbarai178 ปีที่แล้ว

    you are a great teacher . thanks for every video that's are provide javascript community. watching from Bangladesh 🇧🇩🇧🇩

  • @zackplauche
    @zackplauche 7 หลายเดือนก่อน

    Dude your editing among coding videos and explaining concepts is absolutely supreme! How can I be like you?

  • @jomariiringan8724
    @jomariiringan8724 2 ปีที่แล้ว +3

    Awesome! This is one of the question from my job interview together with the Higher order function which you explain it much simpler than i imagine. This will also improve my code structure & development performance, Thanks!

  • @137dylan
    @137dylan 3 ปีที่แล้ว +3

    I have been studying JS since early last year, and despite thinking I already had a strong grasp of closures, this video helped bolster my understanding. Molte grazie!
    It would be great if you released some videos on TypeScript as the trend indicates it will be the standard for FE development (at least) in the coming years.

    • @ColorCode-io
      @ColorCode-io  2 ปีที่แล้ว

      Thanks! I'll consider TS for future videos.

  • @ichiroutakashima4503
    @ichiroutakashima4503 ปีที่แล้ว +1

    I know this is a year old video but it is still very helpful. I hate that I'm using closures but I don't know how to explain it.
    It's like, watching a video in another language without subtitles. Though you can understand it, you can barely speak it. That's how closures to me are.

  • @AhmadAli-wt8zy
    @AhmadAli-wt8zy 3 ปีที่แล้ว +3

    You are amazing teacher you deseve more subscribers👍👍

    • @ColorCode-io
      @ColorCode-io  3 ปีที่แล้ว +1

      Thank you. With time subscribers will come 😉

  • @EdwinManual
    @EdwinManual 2 ปีที่แล้ว +1

    Very underrated channel. Great videos bro. Keep doing it.

  • @pokerchannel6991
    @pokerchannel6991 28 วันที่ผ่านมา +1

    I am new to closures, but the thing I use most for it is either if I need a decorator, or a global memory archive. I like closures rather than func.attribute such as func._metaData. I would rather have a metaDataClosure to store and track metaData than a func._metaData. Closures are magical. Quite lovely.

  • @Kannada_discover
    @Kannada_discover ปีที่แล้ว +1

    This is your teaching is pretty good...keeep continue dude

  • @satk2554
    @satk2554 2 ปีที่แล้ว +1

    Absolute code-heavy content from this series and the viewers will be gifted with all the valuable information explained in a crystal clear manner.
    After all, I am calling people `Sina` and `Qoli` in real LOL.....!!!
    Respect from INDIA.

    • @ColorCode-io
      @ColorCode-io  2 ปีที่แล้ว

      Haha that's hilarious. Thanks Sat!

  • @fariskanbur5428
    @fariskanbur5428 2 ปีที่แล้ว +2

    Another excellent explanation :) We are looking forward to the coming of such series about js and similar special topics. Thank you very much for answering many questions on many people's minds.

  • @eazy2195
    @eazy2195 2 ปีที่แล้ว +1

    Great example, understood clearly, if you console.log sina for example and click on the functions, you can see, at least in the chrome browser, under scopes it actually says Closure and it shows you the variables that are being saved or remembered from the original function, it even displays the original function name

  • @abelmarkos5753
    @abelmarkos5753 2 ปีที่แล้ว +1

    Very nice
    This tutorial series helped explaining
    Alot of the most confusing and hard to understand topics in javascript
    So thank you very very much for that

    • @ColorCode-io
      @ColorCode-io  2 ปีที่แล้ว

      That’s awesome! I’m glad

  • @alfredpithu
    @alfredpithu ปีที่แล้ว +1

    Man! I am a fan now. Take love from Bangladesh ❤

    • @ColorCode-io
      @ColorCode-io  11 หลายเดือนก่อน

      Hello Bangladesh

  • @kirupaagar6674
    @kirupaagar6674 2 ปีที่แล้ว +1

    What kind of human are u..watched hell lot of videos on this topic..but now am crystal clear

    • @ColorCode-io
      @ColorCode-io  2 ปีที่แล้ว

      Awesome!

    • @kirupaagar6674
      @kirupaagar6674 2 ปีที่แล้ว

      @@ColorCode-io sir, you have any plan to have complete. JS course?

    • @ColorCode-io
      @ColorCode-io  2 ปีที่แล้ว

      ​@@kirupaagar6674 Yes. It was planned to be released earlier this year but it will be closer to the end of the year. Sign up here for early access: www.colorcode.io/js-mastery

    • @kirupaagar6674
      @kirupaagar6674 2 ปีที่แล้ว

      @@ColorCode-io done signup... Waiting for First day first show

  • @andcap2239
    @andcap2239 2 ปีที่แล้ว +1

    What a great channel!!! OMG, this is all i needed to understand some of the difficult stuff into JS. Thks for your content!

  • @shaunlobsinger
    @shaunlobsinger 3 ปีที่แล้ว +2

    This was a great video! When I started deving forever ago, I wish someone would have explained it to me like this 😆

  • @apq2589
    @apq2589 ปีที่แล้ว +1

    What a great class you have brought us! I agree with you that this is a very though theme, but you had explained it with in a terrific way! Thank you Sina Qoli! 😃

  • @quangtranoannhat2930
    @quangtranoannhat2930 3 ปีที่แล้ว +1

    Great video. Thanks for making me have a deeper understanding of Closure

  • @piotrdros430
    @piotrdros430 2 ปีที่แล้ว +1

    I hope your channel will grow, as I by watching your videos

  • @AndrewTSq
    @AndrewTSq 2 ปีที่แล้ว +1

    Lol. I have watched 3 big youtube developers explaining closures , and they made it sound like some global variable. or maybe a class. but now I even understand why I should use it!. big thanks.

  • @beckychan5792
    @beckychan5792 11 หลายเดือนก่อน +1

    Thank you Sina!

    • @ColorCode-io
      @ColorCode-io  11 หลายเดือนก่อน

      You’re welcome

  • @JoeBoo532
    @JoeBoo532 3 ปีที่แล้ว +1

    Loving how you present your video! I have to ask what them is that being used on your video? :)

    • @ColorCode-io
      @ColorCode-io  3 ปีที่แล้ว +1

      It's just Chrome DevTools console in dark mode.

  • @oilybrakes
    @oilybrakes 10 หลายเดือนก่อน

    Something makes me believe that the better example for closures, would have been a website with an input field, which has to wait 2sec before processing the data, so that we make sure that user is done typing.
    (Such as how search engines do it, that fetch possible suggestions of what it is that you are typing in)
    Not sure how to code it, but I remember that when I did, closures was something I had to think about.

  • @ankitrawat927
    @ankitrawat927 ปีที่แล้ว +1

    Well done Sina !! Thanks for the explanation.

  • @puchkag.p6459
    @puchkag.p6459 11 หลายเดือนก่อน +1

    You deserve more subs mannn...
    Keep up the quality Content
    😀😀

  • @nikhilchauhan7511
    @nikhilchauhan7511 2 ปีที่แล้ว +1

    a really good video. you explained closure really well.

  • @Salah-YT
    @Salah-YT 2 ปีที่แล้ว +1

    12:30 painful to type inside the console, ok bro this is what I'm talking about ok bro I'm a beginner and I'm struggling with JS for about a year now so that is why I said better use VScode it will be good for everyone and me :-) so please I Love ur channel ur so clever and explains a very good and funny time I like that so thank u so much bro I was looking for that u say painful :-) thx bro keep it up, please

  • @ssyedyaseens
    @ssyedyaseens ปีที่แล้ว +1

    This is incredible! Thanks for this!

  • @FameRK
    @FameRK 3 ปีที่แล้ว +2

    Well explained. Worth the wait. Thank you.

  • @keronwilliams5392
    @keronwilliams5392 3 ปีที่แล้ว +1

    Love this series! Thank you King!

    • @ColorCode-io
      @ColorCode-io  3 ปีที่แล้ว +1

      You’re welcome 🙏🏼

  • @karthikk6769
    @karthikk6769 2 ปีที่แล้ว +1

    You have my respect. Great explanation.

  • @chucksresume7203
    @chucksresume7203 2 ปีที่แล้ว +1

    Excellent content and explanation. Subbed.

  • @santhoshk9285
    @santhoshk9285 3 ปีที่แล้ว +1

    great video 🔥
    waiting for eps 10

  • @mdshoharabpk1126
    @mdshoharabpk1126 ปีที่แล้ว +1

    you are so great and also your explanation is so great. thank you so much.

  • @johnnymnemonic1199
    @johnnymnemonic1199 3 หลายเดือนก่อน +1

    this is awesome explanation! Can I cite you when they ask me about closures during an interview? ;)

    • @ColorCode-io
      @ColorCode-io  3 หลายเดือนก่อน

      You absolutely can!

  • @k0secha
    @k0secha 11 หลายเดือนก่อน +1

    TI ptsd is real 😭😭😭 thanks Sina 💯💯💯

  • @sanvirahmed
    @sanvirahmed ปีที่แล้ว +1

    In your channel, the about section says, 'Coding Tutorials for regular people! 🎉👨🏻‍💻📽 '
    but, you are irregular
    😃
    By the way, I'm a fan of your explanation style. I look forward for your video. 🥰

  • @ClashRoyale-pt9zj
    @ClashRoyale-pt9zj ปีที่แล้ว +1

    excelent video. Your talking is unique

  • @pranavgpr5888
    @pranavgpr5888 3 ปีที่แล้ว +1

    God, really a great video of explanation! Looking forward for more videos like this. Keep rocking 💥⚡

  • @jakubfrei3757
    @jakubfrei3757 2 ปีที่แล้ว

    I love Your sense of humour in combination with explaining, thx And sub:)

  • @SahilKumar-xz1xs
    @SahilKumar-xz1xs ปีที่แล้ว

    Very good tutorial. That click handler example was too good. I used onClick in place of onclick and struggled for half an hour 😪

  • @LoayAl-Said-j8p
    @LoayAl-Said-j8p 3 หลายเดือนก่อน

    Thank you so much for the effort and great explanation..
    Appreciate that .
    Loay from Egypt!

  • @carsugarmodels
    @carsugarmodels ปีที่แล้ว +1

    Bravo! Very nice explanation

  • @gatorgrad
    @gatorgrad ปีที่แล้ว +1

    thanks for the explanation

  • @demarcorr
    @demarcorr หลายเดือนก่อน

    if you understand HOF and the functional paradigm in general, then closures are just a normal thing. For some reason the OOP world needs to make this complicated.
    closures are glorified objects: the "outer" function is the constructor, the "name" field/property is the state, the "inner" function acts on that property. Return the "inner" from the "outer"? Now the "outer" is a HOF
    "its all functions?"
    "always has been"

  • @CSCoreDecoded
    @CSCoreDecoded 2 ปีที่แล้ว +1

    awesome and clear explain, thank you so much,
    can you explain Hoisting in js too😊

    • @ColorCode-io
      @ColorCode-io  2 ปีที่แล้ว

      Good one. I'll do an episode on it.

  • @mihaipascu4975
    @mihaipascu4975 2 ปีที่แล้ว +1

    Excelent tutorial !!! Thanks !!!

  • @baxilio3518
    @baxilio3518 ปีที่แล้ว +1

    great video, thanks a lot for the effort

  • @samanehhg4347
    @samanehhg4347 ปีที่แล้ว

    Thanks for your great explanation🙏 can you please have some c++ tutorials too??

    • @ColorCode-io
      @ColorCode-io  ปีที่แล้ว

      Last time I wrote C++ was 20 years ago. Probably not the best person to teach it 😃

  • @DarkSoul-j8x
    @DarkSoul-j8x ปีที่แล้ว +2

    I wanted to ask at 15:50 does writing return inside clickhandler would work instead of creating function.

    • @ColorCode-io
      @ColorCode-io  ปีที่แล้ว

      Yes it would

    • @AuroraClair
      @AuroraClair 2 หลายเดือนก่อน

      I was wondering the same thing. What's the difference? Why not just return the content of the outer function?

  • @iankabaka6529
    @iankabaka6529 หลายเดือนก่อน +2

    This video has an issue when playing on TH-cam via a smart TV, the audio cuts for no reason, other videos are fine but mostly this channel's videos audio get broken on tv

  • @essaadi_elmehdi6784
    @essaadi_elmehdi6784 3 ปีที่แล้ว +1

    That's great my brother, thank you 🖤🔥

  • @yazeezy4425
    @yazeezy4425 ปีที่แล้ว +1

    This channel rocks!

  • @kaltube4817
    @kaltube4817 ปีที่แล้ว +1

    Well Done

  • @youshouldaknown
    @youshouldaknown ปีที่แล้ว

    closures are variables and functions that are within the components function.

  • @HussnainMuhammad-y9b
    @HussnainMuhammad-y9b 8 หลายเดือนก่อน

    loved the explanation

  • @zitansalehin6941
    @zitansalehin6941 4 หลายเดือนก่อน

    Continue..appreciate your work

  • @MikeJazayeri
    @MikeJazayeri 3 ปีที่แล้ว +1

    Awesome video!

  • @khanalhome2988
    @khanalhome2988 2 ปีที่แล้ว +1

    Beautiful just Beautiful and Thank you too

  • @itsminchul
    @itsminchul 2 ปีที่แล้ว

    are you able to share another real world example of closures, or perhaps a common use case for closures ?

  • @youmnaification
    @youmnaification 2 ปีที่แล้ว +1

    Isn't that the inner has to be returned in order to call it a closure. I think what you were showing us was just a lexical scope being accessed by the inner funcs.

  • @basilvj1227
    @basilvj1227 ปีที่แล้ว

    can you explain advanced react hooks like useMemo etc. Btw great presentation

  • @powerpulsar3
    @powerpulsar3 3 ปีที่แล้ว +1

    Good explanation 👍👍.

  • @3prohor
    @3prohor 10 หลายเดือนก่อน

    Brate, svaka ti se dala i na kolena pala.

  • @saeidkhoorani_public
    @saeidkhoorani_public ปีที่แล้ว +1

    Mer30 Sina Jan! AALI BOOD!

  • @robertoromanramirez4080
    @robertoromanramirez4080 2 ปีที่แล้ว +1

    sina you're awesome

    • @ColorCode-io
      @ColorCode-io  2 ปีที่แล้ว

      Roberto you’re awesome too!

  • @canklc5772
    @canklc5772 6 หลายเดือนก่อน

    a late discovery for me. thanks bro

  • @beksaylor
    @beksaylor 11 หลายเดือนก่อน +1

    Thanks for explaining this thang called closure... I love your hair.

  • @דניאלעורקבי
    @דניאלעורקבי 3 ปีที่แล้ว +1

    You are the best!

  • @Kourosh_ey
    @Kourosh_ey ปีที่แล้ว +1

    You are the best! 😍

  • @thunderstruckx996
    @thunderstruckx996 2 ปีที่แล้ว +1

    Amazing quality of video, well spoken and multiple examples. Definitely a like and subscribe from me!

  • @Pareshbpatel
    @Pareshbpatel ปีที่แล้ว

    An excellent tutorial on JS Closures. Thanks, Sina.
    {2023-06-19}