A visual path through modern JavaScript. Every day has diagrams, a mind map, code you can edit and run right in the lesson, and a quick knowledge check.
- 14 days
- ~30 min / day
- Beginner
- Free account required
The big picture
Everything you'll cover, and how it fits together.
Day by day
Go at your own pace. Your progress is remembered on this device.
- 3Day 3Coming soon 30 min
Strings & Template Literals
Build, slice and search text.
Template literalsString methodsIndexing - 4Day 4Coming soon 30 min
Operators & Comparisons
Math, equality and logic, including the tricky parts.
=== vs ==Truthy / falsy?? and ?. - 5Day 5Coming soon 30 min
Making Decisions
Branch with if, else, switch and the ternary operator.
if / elseswitchTernary - 6Day 6Coming soon 30 min
Loops
Repeat work with for, while, for...of and for...in.
forwhilefor...ofbreak / continue - 7Day 7Coming soon 30 min
Functions
Declarations, arrow functions, parameters and return values.
DeclarationsArrow functionsDefault & rest params - 8Day 8Coming soon 30 min
Arrays
Lists of values and the methods that transform them.
map / filter / reduceSpreadDestructuring - 9Day 9Coming soon 30 min
Objects & JSON
Group data with objects and send it around as JSON.
Object literalsMethods & thisJSON - 10Day 10Coming soon 30 min
Scope & Closures
Where variables live and how functions remember them.
Block scopeHoistingClosures - 11Day 11Coming soon 30 min
Classes & Prototypes
Model things with classes, and see the prototypes underneath.
classextendsPrototype chain - 12Day 12Coming soon 30 min
Errors & Modules
Handle failures and split code into modules.
try / catchthrowimport / export - 13Day 13Coming soon 30 min
Asynchronous JavaScript
The event loop, promises and async/await.
Event loopPromisesasync / awaitfetch - 14Day 14Coming soon 30 min
The DOM & Events
Make a web page interactive, and build a small app.
Selecting elementsEventsMini project