JavaScript Learning
A practical JavaScript learning path from language fundamentals upward.
- Learning resources
- 36
- Beginner
- 8
- Advanced
- 14
- Total time
- 1421 min
Start here
JavaScript Variables, Bindings, and Scope
Begin with the recommended resource, then continue through the learning stages in order.
Explore learning
All learning resources
Search, filter, and sort the complete learning collection for this technology.
36 resources
-
LearningjavascriptBeginner
JavaScript Variables, Bindings, and Scope
Learn how let and const create bindings, how reassignment works, where lexical bindings are scoped, and how values move through runnable JavaScript examples.
~18 min read Open learning -
LearningjavascriptBeginner
JavaScript Numbers
Learn Number, BigInt, arithmetic, floating-point behavior, special values, and how to choose the right numeric model.
~18 min read Open learning -
LearningjavascriptBeginner
JavaScript Strings
Learn JavaScript text: template literals, indexing and slicing with substring, the methods worth knowing, and the immutability that shapes them all.
~14 min read Open learning -
LearningjavascriptBeginner
JavaScript Booleans and Conditionals
Learn how JavaScript decides: === versus ==, the short-circuit logic operators, truthiness and its falsy list, and the if and switch statements.
~15 min read Open learning -
LearningjavascriptBeginner
JavaScript Functions
Learn JavaScript's three function syntaxes, parameters and returns, default and rest parameters, arrow functions, and the scope rules behind them.
~16 min read Open learning -
LearningjavascriptBeginner
JavaScript Objects
Learn the labeled container: property access and destructuring, methods, spread and shorthand, and the optional chaining that survives missing data.
~15 min read Open learning -
LearningjavascriptBeginner
JavaScript Loops
Learn repetition in JavaScript: for and while, for...of over values and for...in over keys, break and continue, and when the array methods replace the loop entirely.
~14 min read Open learning -
LearningjavascriptBeginner
JavaScript Expressions and Operators
Learn how JavaScript expressions produce values, how operators combine and transform them, and how precedence and short-circuiting affect evaluation.
~22 min read Open learning -
LearningjavascriptIntermediate
JavaScript Values, Types, Coercion, and Equality
Build a reliable mental model for JavaScript language types, primitive values, objects, truthiness, explicit conversion, coercion, equality, and comparison edge cases.
~30 min read Open learning -
LearningjavascriptIntermediate
JavaScript Control Flow and Declarations
Learn how JavaScript chooses execution paths, creates block-scoped bindings, exits functions, handles exceptions, and applies automatic semicolon insertion.
~32 min read Open learning -
LearningjavascriptIntermediate
JavaScript Scope, Environments, and Closures
Learn how JavaScript resolves names through lexical scope, how environments nest, and why closures preserve access to surrounding bindings.
~28 min read Open learning -
LearningjavascriptIntermediate
JavaScript Arrays: Mastery and Modern Array Methods
Build a precise mental model of JavaScript arrays, mutation, shallow copying, transformation, reduction, searching, sorting, modern non-mutating methods, Array.from, Array.fromAsync, grouping, and sparse-array behavior.
~40 min read Open learning -
LearningjavascriptIntermediate
JavaScript Async Functions and Async Iteration
Understand async functions, await, sequencing versus concurrency, asynchronous errors, async iterables, for await...of, async generators, and Array.fromAsync.
~45 min read Open learning -
LearningjavascriptAdvanced
JavaScript Binary Data: ArrayBuffer, TypedArrays, and DataView
Learn ECMAScript binary data storage and views: ArrayBuffer, TypedArrays, DataView, byte offsets, element conversions, endianness, BigInt views, resizable buffers, and transfer semantics.
~65 min read Open learning -
LearningjavascriptAdvanced
JavaScript Classes
Understand JavaScript classes without losing sight of the object model: constructors, methods, fields, private elements, inheritance, super, static members, and initialization order.
~55 min read Open learning -
LearningjavascriptAdvanced
JavaScript Dates and Modern Time with Temporal
Understand the ECMAScript Date time-value model, parsing and UTC/local interpretation, mutation and serialization, then learn the modern Temporal types for exact instants, calendar values, time zones, and durations.
~55 min read Open learning -
LearningjavascriptIntermediate
JavaScript Errors and Defensive Control Flow
Handle JavaScript exceptions deliberately: throw and catch Error objects, preserve causes, clean up with finally, define custom errors, aggregate failures, and design defensive control-flow boundaries.
~35 min read Open learning -
LearningjavascriptAdvanced
JavaScript Execution Model: Contexts, Realms, Jobs & Agents
Understand ECMAScript's runtime execution model through execution contexts, Realms, Jobs, agents, host hooks, and forward progress without conflating it with browser event-loop behavior.
~65 min read Open learning -
LearningjavascriptAdvanced
JavaScript Explicit Resource Management
Learn using, await using, Symbol.dispose, Symbol.asyncDispose, DisposableStack, AsyncDisposableStack, scope-based cleanup, ownership transfer, and deterministic resource lifetimes.
~70 min read Open learning -
LearningjavascriptIntermediate
JavaScript Function Objects and this
Understand function objects, callable versus constructible functions, call-site this, arrow functions, call/apply/bind, and constructor calls.
~30 min read Open learning -
LearningjavascriptAdvanced
JavaScript Global Object & Standard Global Functions
Understand globalThis, the global environment boundary, eval, numeric parsing and testing, URI encoding/decoding, and legacy global functions without duplicating existing built-in lessons.
~65 min read Open learning -
LearningjavascriptAdvanced
JavaScript Internationalization with Intl
Learn the ECMAScript Internationalization API: locale negotiation, number and date formatting, comparison, lists, plural rules, relative time, locale identifiers, display names, segmentation, formatter parts, and capability detection.
~60 min read Open learning -
LearningjavascriptIntermediate
JavaScript Iterators and Generators
Understand the iterable and iterator protocols, build custom iterables, use generators and delegation, reason about iterator closing, and compose lazy modern iterator pipelines.
~40 min read Open learning -
LearningjavascriptAdvanced
JavaScript JSON and Structured Data
Learn JSON syntax, parsing, serialization, revivers, replacers, formatting, failure handling, numeric limits, and durable data contracts in JavaScript.
~45 min read Open learning -
LearningjavascriptIntermediate
JavaScript Map, Set, WeakMap, and WeakSet
Choose keyed collections by behavior: Map key/value association, Set membership and set algebra, and weak collections for non-enumerable object or symbol associations.
~35 min read Open learning -
LearningjavascriptIntermediate
JavaScript Objects and Prototypes
Understand own properties, prototype chains, shared methods, constructor prototypes, classes, descriptors, and deliberate prototype control.
~32 min read Open learning -
LearningjavascriptIntermediate
JavaScript Program Architecture
Design maintainable JavaScript programs by defining module responsibilities, public APIs, dependency direction, state ownership, side-effect boundaries, lifecycle, and composition roots.
~45 min read Open learning -
LearningjavascriptIntermediate
JavaScript Promises
Understand Promise states, resolution, chaining, rejection propagation, cleanup, combinators, thenable assimilation, and modern Promise APIs.
~40 min read Open learning -
LearningjavascriptIntermediate
JavaScript Property Descriptors, Accessors, and Object Integrity
Understand data and accessor property descriptors, getters and setters, precise property definition, and object integrity controls.
~30 min read Open learning -
LearningjavascriptIntermediate
JavaScript Proxy and Reflect Metaprogramming
Understand Proxy traps, Reflect forwarding, prototype and extensibility operations, proxy invariants, revocation, and practical metaprogramming boundaries.
~32 min read Open learning -
LearningjavascriptAdvanced
JavaScript Regular Expressions
Learn ECMAScript regular-expression syntax, matching, captures, flags, lookarounds, Unicode modes, dynamic patterns, and stateful matching.
~42 min read Open learning -
LearningjavascriptAdvanced
JavaScript Scripts and Modules
Understand ECMAScript Scripts and Modules, import/export forms, live bindings, module namespaces, dependency linking and evaluation, cycles, top-level await, dynamic import, import attributes, and JSON modules without confusing language semantics with browser loading.
~55 min read Open learning -
LearningjavascriptAdvanced
JavaScript Source Text, Lexical Grammar & Parsing
Understand how ECMAScript source text is recognized as input elements and parsed as a Script or Module, including tokens, lexical goals, comments, literals, line terminators, directive prologues, and automatic semicolon insertion.
~60 min read Open learning -
LearningjavascriptAdvanced
JavaScript Symbols and Property Protocols
Learn Symbol identity, Symbol-keyed properties, property-key reflection, the global Symbol registry, well-known Symbols, and standardized JavaScript protocol hooks.
~50 min read Open learning -
LearningjavascriptAdvanced
JavaScript Unicode-aware Strings
Understand UTF-16 code units, Unicode code points, surrogate pairs, well-formed strings, normalization, and the difference between code points and user-perceived text.
~38 min read Open learning -
LearningjavascriptAdvanced
JavaScript Shared Memory: SharedArrayBuffer and Atomics
Learn ECMAScript shared memory, SharedArrayBuffer, atomic read-modify-write operations, waiting and notification, and the memory-model boundary between shared storage and synchronization.
~70 min read Open learning