Execution contexts, hoisting, scope chains, closures and the event loop. How JavaScript actually runs your code, and why the quirks stop being quirks once you can see the mechanism.
The course is built around mental models. You will trace code through execution contexts and call stacks before touching a single framework. You will understand hoisting not as a quirk to memorise, but as a natural result of how JavaScript parses your code in two phases. Closures will stop feeling l...
by
Intermediate level
About 5 hours to complete
24 lessons, 8 units
144 practice questions
5 unit tests
Gamified and interactive
Online, at your own pace
Assessment
Twenty-five questions on how JavaScript actually runs: hoisting, the temporal dead zone, closures, the event loop, and the parts that surprise people.
Related learning bytes

Master TypeScript from core type annotations to generic constraints, conditional infer types, utility functions, and compiler options.
Deep dive into JS internals, event loop mechanics, closures, and modern TS type safety.
by
Intermediate level
About 5 hours to complete
24 lessons, 8 units
144 practice questions
5 unit tests
Gamified and interactive
Online, at your own pace
map, filter, and reduce — including building your own versions from scratchlet, const, arrow functions, and functional patternsRelated learning bytes

Master TypeScript from core type annotations to generic constraints, conditional infer types, utility functions, and compiler options.
Deep dive into JS internals, event loop mechanics, closures, and modern TS type safety.
• 24 lessons• 8 units• Certificate of completion
UNIT
1Understand the execution context, the two-phase process JavaScript uses before running a single line, and the call stack that manages it all.
UNIT
2Discover why you can use some things before they exist, what undefined really means, and how let and const fixed the problems var created.
UNIT
3Learn how JavaScript decides which variables you can access from where, how the scope chain works, and why var leaks out of blocks.
UNIT
4Master the three ways to create functions, understand first-class functions, and build your own higher-order functions from scratch.
UNIT
5Understand the most powerful concept in JavaScript: functions that remember their surroundings, even after those surroundings are gone.
UNIT
6See how JavaScript handles async operations despite being single-threaded, and trace the event loop step by step.
UNIT
7Transform, filter, and combine arrays using the three most important functional programming methods in JavaScript.
UNIT
8Work with objects, pull values out cleanly with destructuring, and write modern JavaScript with spread, rest, and template literals.
Validate your expertise — Earn a DevLoom certificate that names the course you completed.
Official, evergreen credentials — Each course certificate you earn has its own page, unique ID, and once earned, it never expires.
Showcase your achievement — In addition to automatic exposure on your Devloom profile, you can easily add this certificate to your CV, resume, website, or LinkedIn profile.
I'm a web development enthusiast who loves building with React and NextJS, always looking for ways to optimize performance and create seamless experiences.
I'm also deeply interested in SystemDesign, constantly exploring how things scale and work behind the scenes. Technology excites me, and I enjoy learning and applying new tools and frameworks to solve real-world problems.
Beyond coding, I have a creative mindset, always working on side projects that bring ideas to life.
Free to start. Create an account to save your progress and earn a certificate when you finish.
map, filter, and reduce — including building your own versions from scratchlet, const, arrow functions, and functional patternsI'm a web development enthusiast who loves building with React and NextJS, always looking for ways to optimize performance and create seamless experiences.
I'm also deeply interested in SystemDesign, constantly exploring how things scale and work behind the scenes. Technology excites me, and I enjoy learning and applying new tools and frameworks to solve real-world problems.
Beyond coding, I have a creative mindset, always working on side projects that bring ideas to life.