Level up with JavaScript
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.
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.
Show notes
03:24 - Functional Programming vs OOP 06:28 - Prototypal inheritance 20:34 - Higher order functions 25:54 - Callback functions 27:10 - Closures 27:46 - Scope + Context 31:12 - Iterators & Generators 34:26 - Rendering engine 37:54 - Call Stack 40:33 - Event loop 43:39 - Throttle and debounce 46:21 - Asynchronous programming 52:09 - Hoisting 54:44 - Primitive vs reference 56:59 - Debugging 58:48 - Shoutouts
Resources
- Functional Programming vs OOP
- Lydia Halle’s blog post on the prototype chain
- Practical Object Oriented Design in Ruby
- Ali's What is Functional Programming?
- What Tamagotchis Can Teach You About ES6 Generators - Jenn Creighton
- CodeNewbie: How do Browsers Work?
- What the heck is the event loop anyway? - Philip Roberts
- Throttling and debouncing
- Debugging Episode