The modern JavaScript course
Learn JavaScript, the illustrated way.
From your first line of code to prototypes, closures, and the event loop — explained with diagrams and interactive animations, one concept at a time.
Part 1
Core JavaScript
First Steps
- 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
Object Basics
Data Types
Advanced Functions
Object Properties
Prototypes
Classes
Async
Generators Iterators
JavaScript Misc
Modern Collections
Async Upgrades
Language Extras
Modern Dates
Internationalization
TypeScript
Part 2
The Browser Platform
Document
Events
Event Details
Forms Controls
Loading
Native UI
Accessibility
Input and Devices
Part 3
Advanced Web Platform
Frames and Windows
Web Security
Binary Data and Files
Network Requests
Realtime and Streaming
Concurrency and Workers
Web Components
Regular Expressions
- Patterns and flags
- Character classes
- Unicode: flag "u" and class \p{...}
- Anchors: string start ^ and end $
- Multiline mode of anchors ^ $, flag "m"
- Word boundary: \b
- Escaping, special characters
- Sets and ranges [...]
- Quantifiers +, *, ? and {n}
- Greedy and lazy quantifiers
- Capturing groups
- Backreferences in pattern: \N and \k<name>
- Alternation (OR) |
- Lookahead and lookbehind
- Catastrophic backtracking
- Sticky flag "y", searching at position
- Methods of RegExp and String
Performance
Graphics and Media
Part 4