JavaScript Under The Hood [2] - Execution Context

Поделиться
HTML-код
  • Опубликовано: 2 авг 2024
  • In this video, we will talk about execution context and hoisting
    💻 My Courses & More
    traversymedia.com
    💖 Show Support
    Patreon: / traversymedia
    PayPal: paypal.me/traversymedia
    👇 Follow Me On Social Media:
    Twitter: / traversymedia
    Instagram: / traversymedia
    Linkedin: / bradtraversy
    Timestamps
    0:00 - Intro
    0:44 - What Is Execution Context?
    1:39 - The 2 Phases
    3:32 - Step By Step Examination
    6:12 - Examine Creation In Browser
    7:32 - Step-Through Execution
    8:52 - Hoisting
    11:26 - var vs let & const
  • НаукаНаука

Комментарии • 155

  • @DesignfulDev
    @DesignfulDev 2 года назад +83

    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 🤯

    • @Azrael1793
      @Azrael1793 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 года назад +12

    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!

  • @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.

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

  • @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.

  • @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! 😀

  • @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.

  • @yoooo4177
    @yoooo4177 Месяц назад

    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 15 дней назад

    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!

  • @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). 👍

  • @DaveCollison
    @DaveCollison 2 года назад +7

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

  • @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.

  • @moustafamahmoud4948
    @moustafamahmoud4948 2 года назад

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

  • @mapbrainnovationsofficial5813
    @mapbrainnovationsofficial5813 2 года назад

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

  • @pranjalsrivastava1191
    @pranjalsrivastava1191 4 месяца назад

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

  • @burakkepuc
    @burakkepuc 2 года назад +5

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

  • @gregmohr6135
    @gregmohr6135 2 года назад +1

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

  • @matt_fonto
    @matt_fonto 10 месяцев назад +1

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

  • @kisangali8184
    @kisangali8184 2 года назад +1

    Brad you're my favorite RUclipsr much love from Kenya.

  • @ebcoutinho
    @ebcoutinho 7 месяцев назад

    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

  • @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

  • @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!🙂🙋🏻‍♀️

  • @taofeeqomotolani2311
    @taofeeqomotolani2311 2 года назад +1

    Short, detailed and well delivered.

  • @maihu2464
    @maihu2464 7 месяцев назад

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

  • @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).

  • @TheDoubleMvp
    @TheDoubleMvp 5 месяцев назад

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

  • @RockstahRolln
    @RockstahRolln 2 года назад

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

  • @yaroslavbukhta6562
    @yaroslavbukhta6562 Год назад

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

  • @imtanuki4106
    @imtanuki4106 Год назад

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

  • @anag2125
    @anag2125 6 месяцев назад

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

  • @hassaneoutouaya
    @hassaneoutouaya Год назад

    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'

  • @vladimirpaziuk4707
    @vladimirpaziuk4707 2 года назад

    Amazing series of videos. Best what I have seen!

  • @HarshBairagi-c4p
    @HarshBairagi-c4p 13 дней назад

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

  • @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.)

  • @programer9620
    @programer9620 2 года назад

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

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

  • @rougegorge3192
    @rougegorge3192 2 года назад +2

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

  • @alextonev4145
    @alextonev4145 Год назад

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

  • @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

  • @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.

  • @toanlam8603
    @toanlam8603 2 года назад

    These videos are great! Please keep it up

  • @albertkipchirchir5799
    @albertkipchirchir5799 2 года назад

    Clear and just amazing. Thank you brad.

  • @MgelikaXevi
    @MgelikaXevi 11 месяцев назад

    really good explanation, finally understood what was behind hoisting!

  • @bshwin
    @bshwin 2 года назад

    Great stuff Brad, very much appreciated. Very insightful.

  • @YoBarbados
    @YoBarbados Год назад

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

  • @rashedinislam4668
    @rashedinislam4668 4 месяца назад

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

  • @englishbasicswithchris
    @englishbasicswithchris 10 дней назад

    everything makes so much sense now 😭🙏🙏🙏

  • @maximganiev4048
    @maximganiev4048 2 года назад

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

  • @HuskyHuskell
    @HuskyHuskell Год назад

    Very elegant explanation, thank you!

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

  • @alemayehuewunetu9998
    @alemayehuewunetu9998 2 года назад

    This should be in a playlist

  • @lifeisbeautifu1
    @lifeisbeautifu1 Год назад +1

    Simple and clear. Thank you!

  • @eduAIJourney
    @eduAIJourney 2 года назад +1

    Love this series keep it up...

  • @ktoscos4546
    @ktoscos4546 Год назад

    I understand it directly , very good explanation

  • @LeCyProductions
    @LeCyProductions 2 года назад

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

  • @UniParse
    @UniParse 2 года назад

    cool, I can't wait to next ep

  • @rikilamadrid
    @rikilamadrid 2 года назад +1

    Great series!

  • @markbarlescu1853
    @markbarlescu1853 2 года назад

    Truly amazing. Your ability to teach.

  • @MsKodus
    @MsKodus 2 года назад

    Really well explained!

  • @AsToNlele
    @AsToNlele 2 года назад

    Thanks a lot Brad!

  • @seddeknadhem5638
    @seddeknadhem5638 Год назад

    One of the best, thx!

  • @thucle4122
    @thucle4122 Год назад

    thank you for the really clear explanation!

  • @yusufjamal269
    @yusufjamal269 8 месяцев назад

    out of the box🔥 very impressive 👍👍

  • @CC-ij3ky
    @CC-ij3ky Год назад

    Perfect explanation Brad 🙏 thanks mate

  • @Nahuel_Uboldi
    @Nahuel_Uboldi 2 года назад +1

    awesome series!

  • @TyRector
    @TyRector Год назад

    This was super helpful!! Thank you!!

  • @oilybrakes
    @oilybrakes 2 года назад

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

  • @vahidseyidov
    @vahidseyidov 11 месяцев назад

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

  • @savannahtechstack8463
    @savannahtechstack8463 2 года назад

    This video was so useful, thank you

  • @Ratchet2022
    @Ratchet2022 Год назад

    This is Insanely helpful!!! Thank you sir!

  • @geekstudio.
    @geekstudio. Год назад

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

  • @Mr.Robots
    @Mr.Robots Год назад

    this a grate video! Tks from Brazil man!

  • @mayankk2800
    @mayankk2800 10 месяцев назад

    Legendary explanation.

  • @TheKomaras
    @TheKomaras 2 года назад

    Thank you, this is awesome!

  • @bevedel
    @bevedel Год назад

    Really helped. Thank you.

  • @ahmatarnal1018
    @ahmatarnal1018 2 года назад

    amazing explanation

  • @amingrateful7661
    @amingrateful7661 2 года назад

    Learning a lot from you. thank you 🙏🏻

  • @heat1486
    @heat1486 2 года назад

    Great content!

  • @Krazness
    @Krazness 2 года назад

    Dope video. Thanks man

  • @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?

  • @aristidescruz1414
    @aristidescruz1414 2 года назад

    I really liked this!!

  • @k.ksharma4457
    @k.ksharma4457 2 года назад +1

    awesome explanation❤

  • @ulrichmbouna4091
    @ulrichmbouna4091 2 года назад

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

  • @manny8156
    @manny8156 2 года назад

    Amazing!!

  • @mgabitov
    @mgabitov Год назад

    One like is not enough for this video. Thanks!

  • @arvindk9268
    @arvindk9268 2 года назад

    Wow this is amazing.

  • @sanskaarpatni9137
    @sanskaarpatni9137 Год назад

    Amazing!

  • @khateebedia
    @khateebedia Год назад

    The greatest explainer

  • @willadams6217
    @willadams6217 2 года назад

    This is a really promising series.

  • @JeanDidier
    @JeanDidier Год назад

    God bless you Brad

  • @beckychan5792
    @beckychan5792 7 месяцев назад

    Thank you!!

  • @newbiedb
    @newbiedb 11 месяцев назад

    Great video

  • @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)

  • @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.

  • @mohammad_shariat
    @mohammad_shariat 2 года назад +1

    Amazing❤️

  • @fer.barrios
    @fer.barrios 2 года назад

    Cool vid!

  • @hoseinabolhasani
    @hoseinabolhasani 2 года назад

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