Scope, hoisting, event loop
A bit more advanced concepts, but essentials to know if you want to write programs that run correctly as you want.

In this unit I collected a whole range of topics that I would call “moderately complex”, so not something I would explain on day 1 to a beginner JavaScript developer, but extremely important.

Knowing those topics very well can be a huge difference in your day to day work, transforming frustration and confusion into productive and efficient code.

We’ll talk about scope, shadowing, hoisting, closures, and the event loop.

Lessons in this unit:

0: ▶︎ Introduction
1: Global scope
2: Function scope
3: Block scope
4: Shadowing
5: Hoisting
6: Closures
7: An issue with `var` variables and loops
8: The event loop