Learn JavaScript
JavaScript has a few famous quirks (coercion, hoisting, this) and a powerful asynchronous model. These quizzes cover both, with code-reading questions rather than trivia.
Covers modern ECMAScript (ES2020+).
What you will practise
- Type coercion and equality
- Scope, closures and hoisting
- Promises, async/await and the event loop
- Array and object idioms
Roadmap
Work through the levels in order, or jump to where you are.
JavaScript quizzes
- JavaScriptBeginner
JavaScript Fundamentals
Types, coercion and equality
TypesEqualityVariables7 Qs~5mStart - JavaScriptIntermediate
Functions, Scope & Closures
Closures, hoisting, this and higher-order functions
ScopeClosuresthis7 Qs~5mStart - JavaScriptAdvanced
Async JavaScript
Event loop, promises and async/await
Event loopasync/awaitPromises7 Qs~5mStart
Interactive JavaScript challenges
Hands-on activities: find bugs, complete code, order steps and match concepts.
JavaScript articles
FAQ
Do the quizzes cover Node.js or the browser?
These quizzes cover the language itself (ECMAScript), which applies to both.
Do you cover TypeScript?
No, these quizzes are strictly vanilla JavaScript. We plan to release a dedicated TypeScript roadmap in the future.
How is asynchronous JavaScript covered?
We have dedicated quizzes covering the event loop, Promises, async/await, and error handling. You will be asked to predict the console output of mixed synchronous and asynchronous code.
Why is JavaScript equality so tricky?
Because of type coercion. Our fundamentals quizzes explicitly test the difference between == and ===, and edge cases like comparing null, undefined, and objects.