Date: Mon, 11 May 2020 06:00:00 -0000
<p>JavaScript is notorious for being one of the most popular, yet also one of the most despised programming languages to learn, so today we’re covering some of the intermediate and advanced JavaScript concepts! We’ll discuss convoluted topics like generators, prototypal inheritance, and the rendering engine.</p> <p>Knowing intermediate JavaScript concepts like the call stack, context, scope, the prototype chain, higher order functions, async programming, and the event loop is invaluable and will help with learning frameworks. The fundamentals won't change even if the ecosystem does.</p> <h1>Show notes</h1> <p><strong>03:24</strong> - Functional Programming vs OOP <strong>06:28</strong> - Prototypal inheritance <strong>20:34</strong> - Higher order functions <strong>25:54</strong> - Callback functions <strong>27:10</strong> - Closures <strong>27:46</strong> - Scope + Context <strong>31:12</strong> - Iterators & Generators <strong>34:26</strong> - Rendering engine <strong>37:54</strong> - Call Stack <strong>40:33</strong> - Event loop <strong>43:39</strong> - Throttle and debounce <strong>46:21</strong> - Asynchronous programming <strong>52:09</strong> - Hoisting <strong>54:44</strong> - Primitive vs reference <strong>56:59</strong> - Debugging <strong>58:48</strong> - Shoutouts</p> <h1>Resources</h1> <ul> <li><a href="https://www.stridenyc.com/podcasts/126-functional-vs-object-oriented-paradigms-with-sandi-metz" rel="nofollow">Functional Programming vs OOP</a></li> <li><a href="https://dev.to/lydiahallie/javascript-visualized-prototypal-inheritance-47co" rel="nofollow">Lydia Halle’s blog post on the prototype chain</a></li> <li><a href="https://www.poodr.com/" rel="nofollow">Practical Object Oriented Design in Ruby</a></li> <li><a href="https://www.sitepoint.com/what-is-functional-programming/" rel="nofollow">Ali's What is Functional Programming?</a></li> <li><a href="https://www.youtube.com/watch?v=09V_JAGTs2E" rel="nofollow">What Tamagotchis Can Teach You About ES6 Generators - Jenn Creighton</a></li> <li><a href="https://www.codenewbie.org/podcast/how-do-browsers-work" rel="nofollow">CodeNewbie: How do Browsers Work?</a></li> <li><a href="https://www.codenewbie.org/podcast/how-do-browsers-work" rel="nofollow">What the heck is the event loop anyway? - Philip Roberts</a></li> <li><a href="https://codeburst.io/throttling-and-debouncing-in-javascript-b01cad5c8edf" rel="nofollow">Throttling and debouncing</a></li> <li><a href="https://ladybug.dev/debugging" rel="nofollow">Debugging Episode</a></li> </ul>