JavaScript Under The Hood [2] - Execution Context

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

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

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

    Wow, that made hoisting so much clearer to me! I had on my mind the "moved-to-the-top" concept, but this makes much more sense. Great series Brad! Thank you for everything!

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

      Same for me! It blew my mind 🤯

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

      Came here to write the same thing

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

      same same for me all these years, wow!

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

    I can’t express how much important it is to look at the call stack when debugging.
    P.S: Need more of such under the hood videos.

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

    This is one of the most important topics I didn't care to understand when I first started learning to code... Today It's what I am learning. Thank you, Brad

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

      "...one of the most important topics I didn't care to understand when I first started..."
      Exactly my thought, too.

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

    These "Under The Hood" videos are great! The way you go about explaining how they work is tremendously helpful. Thank you!

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

    this series, takes me back to when I was watching your videos, to understand array methods, and the basics of Js. Often it happens to leave out the theory and go directly to practice.

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

    This series is one of the best series I’ve ever watched, I wish you could make a full series of JS under the hood not just a few parts, thanks for your hard work and dedication Brad.

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

    I admire your clarity. This video shines at realistically explaining under the hood concepts. Hoisting explanation is rational and highly practical. Thanks Brad :)

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

    This was really insightful and I love that you present the "theory" and the follow up with practical examples. Beautiful! 😀

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

    This is the best series I’ve ever watched.
    Diagrams are effectively used to back up explanation and make it so easy to understand.
    Thank you so much for making this content.

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

    It is important to mention that local variables are not stored in the Memory Heap but are rather stored in the Call Stack. It is inefficient to store local variables of functions in the Memory Heap since they are not accessed outside the function scope. Storing local variables in the Call Stack and "forgetting" about it once the execution context of the function is popped is how modern JS engines go about it. Great video!

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

    Best explanation of hoisting and global/block scope I've seen. Thank you.

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

    After this series, nodejs, under the hood please. What is single thread non-blocking async system etc.

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

    Damn good. No one has ever explained in such a good way. This makes me understand things rather than simply learning them.

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

    a lot of videos out there are talking on the same concepts, but your videos always have something new

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

    WOW!!!!! Can't express how glad I am you're doing this series. I love it so much. I'm learning NodeJS and trust me when I say the concepts are essential and I've looking for something like this. Not necessarily how to code, but under-the-hood concepts give you a better understanding of your code. I could keep re-watching these videos over and over again. Looking forward to more of these. Thanks, man! You're the best! Keep it coming!

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

    Thank you so much for the content. This is not a simple concept to explain but you did it so well that I was able to understand it like it was easy

  • @MusayevaLala
    @MusayevaLala 23 วันที่ผ่านมา

    All your videos, especially your explanation is amazing! Thank you for this channel!

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

    bro you made hoisting so much clear.. it really blew my mind

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

    Simply incredible! Very well taught and paced videos. Congratulations, Brad!

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

    Brad you're my favorite TH-camr much love from Kenya.

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

    Thank you for the technical look at hoisting. Now it actually makes sense

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

    Thank you so much !
    In my view the best practice of JavaScript about using hoisting goes through coding with strict mode(never use a function or a variable before its initialization). which is logic & makes your code more readable.
    I encounter this whenever I'm using for example the arrow functions while declaring it as 'const'

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

    It's a really great series. You explained the information and topics that you can't find in most places, with great examples. It's really useful.

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

    This is by far the best clarification on 'Hoisting ' thanks for making it really easy to understand

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

    In the midst of the video I was dead set on asking why you were using var instead of let/const, I'm glad you've explained it. Thanks for the video, it gives much insight into what's going on when a D3 viz is produced (that's just what I'm dealing with on a daily basis, so my natural point of reference).

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

    I was doing another course and this part had me stuck. You really helped me understand this quickly. I appreciate what you do giving out content like this for free.

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

    wow - first time I've seen a conceptual explanation that integrates scope and hoisting. kudos!

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

    Great start to the series! I hope you plan to go under the hood with closures; this feels like the perfect series for that. Great refresher for me (and you taught me about let/const are actually hoisted locally). 👍

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

    Brilliant explanation. Probably the best and most concise videos on the topic I've seen.

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

    Because of this man and his channel i learned js and react.js and now I got a job with DOD ICE

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

    I'm really digging these JS Under the hood vids. Great Work!

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

    really good explanation, finally understood what was behind hoisting!

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

    Man this really made hoisting feel less like its some black magic that js does. Thanks a lot!

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

    As usual, your videos are super helpful and clear. Thank you so much!

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

    Short, detailed and well delivered.

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

    Great video, Brad; I still learnt something new, even though I thought I knew this topic already. Also, I love that you made use of the browser to drive the explanation home

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

    I've fallin into the JS engine, Runtime, BrowserWebAPI/nodejsC++API, Eventloop, Call Stack, Microtask-, Macrotask-, Task-, Job-Queue Rabbithole. This Under the Hood videos really help to join some dots together. Thanks Mate & Kind regards !

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

    Wow!! This really put things into perspective, regarding Hoisting, for me. Loved the video! Thanks Brad!!

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

    You're a genius man, thanks for explaining in details.

  • @HarshBairagi-c4p
    @HarshBairagi-c4p หลายเดือนก่อน

    This video really helped me a lot, lots of love from India ❤

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

    Even though I know what JS code does, I always wanted to know what is actually going on under the hood. Great content!

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

    Brad, Thank you for putting out videos for us. I have learned so much and use some of your templates too.
    Thanks a bunch!🙂🙋🏻‍♀️

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

    Thank you so much it clears a lot of concept. Will be waiting for your more videos like this.

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

    This should be in a playlist

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

    Really super explanation, Brad. (And I finally got an intro into using the Sources tab of Chrome Dev Tools, which is a real plus.)
    I noted, BTW, that when I wrote getSum() as an arrow function -- instead of as a 'regular' function -- it didn't appear in the Global object; instead, it was in a Script object immediately above Global (and eventually below Local). I haven't dug into that yet, but seems like something else that's important to learn.
    (EDIT: And no surprise that Brad cleared this up in the final section.)

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

    I understand it directly , very good explanation

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

    Very elegant explanation, thank you!

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

    Amazing series of videos. Best what I have seen!

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

    everything makes so much sense now 😭🙏🙏🙏

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

    Thank you, under the hood is so interesting !And Well explained ❤

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

    Simple and clear. Thank you!

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

    Hey Brad...been following along with you for a couple years now since I started coding. I'd be lost without your tutorials. Thanks for all your hard work. More Laravel TALL stack videos if you are looking for suggestions.

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

    Dear Brad, you have already made me a JS addict and I'm not sure what'll will happen to me after this series.
    Kindly request you to post a video on illustrating the execution of asynchronous functions in JS event loop may with a 'setTimeout' or any other callback function. Doesn't matter how well I know the stuff, I always learn a new thing or correct some of the misunderstandings I have, each time I follow a video of yours (E.g:- Hoisting of 'let' & 'const' variables)

  • @geekstudio.
    @geekstudio. ปีที่แล้ว

    I dont know how ya do it Trav but ya do it..thanks for the video!

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

    Just WoW, I don't have any other words🙌🏼

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

    Hi Brad,
    Amaizing videos! Maybe closure also should be it this tutorial.

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

    thank you for the really clear explanation!

  • @TimurGain
    @TimurGain 29 วันที่ผ่านมา

    Perfect explanation

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

    Hoisting can be quite useful when laying out react components. Say you have a ListComponent written as a functional component and then you can write the component items rendered in the list just below and don't worry about the order.

  • @CC-ij3ky
    @CC-ij3ky ปีที่แล้ว

    Perfect explanation Brad 🙏 thanks mate

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

    Great explanation - thank you very much for the nuance of the topic as well!

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

    Great stuff Brad, very much appreciated. Very insightful.

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

    This feels almost illegal to know, so good! Would you suggest a few books for learning advanced JS concepts?

  • @Mr.Robots
    @Mr.Robots ปีที่แล้ว

    this a grate video! Tks from Brazil man!

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

    Thanks you so much for this tutorial, i have learned new thinks .

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

    Wow these area great clarifying episodes. Thank you so much!

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

    This was super helpful!! Thank you!!

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

    One like is not enough for this video. Thanks!

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

    Thank you sir!
    Please start a series on DS and Algo in Javascript

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

    Clear and just amazing. Thank you brad.

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

    Truly amazing. Your ability to teach.

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

    Legendary explanation.

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

    out of the box🔥 very impressive 👍👍

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

    This video was so useful, thank you

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

    These videos are great! Please keep it up

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

    This is Insanely helpful!!! Thank you sir!

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

    This is a really promising series.

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

    Learning a lot from you. thank you 🙏🏻

  • @kelechi.E
    @kelechi.E 4 หลายเดือนก่อน

    Wow made execution context clearer

  • @m.h.wasimelahi3878
    @m.h.wasimelahi3878 11 หลายเดือนก่อน

    Since it is clear that hoisting can be done with let and const also, so plz do make a video on hoisting with let

  • @SynTronic.
    @SynTronic. 11 หลายเดือนก่อน

    Fall-stack 🤣 You are the best!

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

    Love the content brad thanks love to see more of this kind of stuff would it be possible to touch upon computer science topics as-well?

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

    I always declare functions above because I was learning programming on "basic" and "pascal")
    P.S. This lessons very cool!

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

    Really well explained!

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

    Good thing I subscribed to you.
    Already picking the fruits of that decision. 👍

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

    amazing explanation

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

    Really helped. Thank you.

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

    Thanks a lot Brad!

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

    I think it is better to put [red block "temporal dead zone"] where [green block "Initialize"] is and [green block "Initialize"] where [red block "temporal dead zone"] is.
    Declaration and Initialization should be in creation phase and then temporal dead zone then Assignment in execution phase.
    Please acknowledge me if I am wrong.
    Thank BRAD❤

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

    God bless you Brad

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

    cool, I can't wait to next ep

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

    fantastic as usual 👏🏻👏🏻👏🏻 many thanks Brad

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

    Very good video. This must be the foundation of soft developer not the jwt auth, data structures or React hooks.

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

    Great series!

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

    The greatest explainer

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

    Thank you, this is awesome!

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

    Brad The Savior

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

    If function are created in create phase and added to global scoop and (let/const) are being added to a Script scoop... Where are arrow functions stored (const fct=() =>console.log("arrow"))?

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

    Love this series keep it up...

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

    very very usefull content , please make more such videos thank you so much.😍💡