What Topics Does The Modern JavaScript Tutorial Cover?
Updated
The Modern JavaScript Tutorial (javascript.info) covers JavaScript in three parts: the core language, browser APIs (Document, Events, Interfaces), and additional articles. It starts from scratch and moves to advanced concepts like OOP, so it fits beginners who want a structured path and intermediate developers filling specific gaps. The site states it concentrates on the language itself with minimal environment-specific notes in Part 1.
Part 1: The JavaScript language
This is the largest section and the one most learners come for. It is organized as a progression rather than an alphabetical reference.
Getting started
- An Introduction to JavaScript
- Manuals and specifications
- Code editors
- Developer console
JavaScript Fundamentals
- Hello, world!
- Code structure
- The modern mode, "use strict"
- Variables
- Data types
- Interaction: alert, prompt, confirm
- Type Conversions
- Basic operators, maths
- Comparisons
- Conditional branching: if, '?'
- Logical operators
- Nullish coalescing operator '??'
- Loops: while and for
- The "switch" statement
- Functions
- Function expressions
- Arrow functions, the basics
- JavaScript specials
Code quality
- Debugging in the browser
- Coding Style
- Comments
- Ninja code
- Automated testing with Mocha
- Polyfills and transpilers
Objects: the basics
- Objects
- Object references and copying
- Garbage collection
- Object methods, "this"
- Constructor, operator "new"
- Optional chaining '?.'
- Symbol type
- Object to primitive conversion
Data types
- Methods of primitives
- Numbers
- Strings
- Arrays
- Array methods
- Iterables
- Map and Set
- WeakMap and WeakSet
- Object.keys, values, entries
- Destructuring assignment
- Date and time
- JSON methods, toJSON
Advanced working with functions
- Recursion and stack
- Rest parameters and spread syntax
- Variable scope, closure
- The old "var"
- Global object
- Function object, NFE
- The "new Function" syntax
- Scheduling: setTimeout and setInterval
- Decorators and forwarding, call/apply
- Function binding
- Arrow functions revisited
Object properties configuration
- Property flags and descriptors
- Property getters and setters
Prototypes, inheritance
- Prototypal inheritance
- F.prototype
- Native prototypes
- Prototype methods, objects without proto
Classes
- Class basic syntax
- Class inheritance
- Static properties and methods
- Private and protected properties and methods
- Extending built-in classes
- Class checking: "instanceof"
- Mixins
Error handling
- Error handling, "try...catch"
- Custom errors, extending Error
Promises, async/await
- Introduction: callbacks
- Promise
- Promises chaining
- Error handling with promises
- Promise API
- Promisification
- Microtasks
- Async/await
Generators, advanced iteration
- Generators
- Async iteration and generators
Modules
- Modules, introduction
- Export and Import
- Dynamic imports
Miscellaneous
- Proxy and Reflect
- Eval: run a code string
- Currying
- Reference Type
Part 2: Browser — Document, Events, Interfaces
This part moves from the language into the browser environment. It covers the DOM, event handling, and browser interfaces. If you only need language fundamentals, you can skip this part; if you plan to build web pages, it is the natural next step after Part 1.
Part 3: Additional articles
A smaller collection of extra material that sits outside the two main tracks.
How to decide if it fits your stage
| Your situation | Where to start |
|---|---|
| Never written JavaScript | Part 1, from "An Introduction to JavaScript" |
| Know basics, weak on objects/closures | Part 1, "Objects: the basics" and "Advanced working with functions" |
| Comfortable with syntax, shaky on async | Part 1, "Promises, async/await" |
| Need DOM and events for page work | Part 2 |
| Want class-based and prototype patterns | Part 1, "Prototypes, inheritance" and "Classes" |
The stated goal is to go from scratch to advanced concepts like OOP, so the intended reading order is top to bottom within Part 1. The trade-off is depth over brevity: the material is described as simple but detailed, with examples and tasks, which means more reading time than a quick reference. If you need a fast lookup for a single method, a language reference may serve you better; if you want the concept explained with tasks to practice, this structure is the point.