← Languages

JavaScript

Full course · 21 lessons

The language of the web. JavaScript powers browsers, servers (Node.js), desktop apps (Electron), and increasingly the edge. These are the definitive free resources — vetted, current, and complete.

Knowledge Course
01

Values, Types, and Variables

Core JavaScript values — primitives, objects, type system, and variable declarations (var, let, const). Set up your dev environment and write your first program.

60 min
02

Control Flow, Operators, and Expressions

Conditionals, loops, operators, and expression evaluation — the building blocks of program logic.

60 min
03

Functions: Declarations, Scope, and Arrow Functions

Function declarations, expressions, arrow functions, parameters, and arguments — the core of JS modularity.

60 min
04

Objects, Arrays, and Collections

JavaScript objects, arrays, Maps, Sets — creating, accessing, iterating, and manipulating data structures.

75 min
05

The DOM and Browser APIs

Document Object Model, DOM manipulation, event handling, and essential browser APIs.

75 min
06

Debugging, Errors, and Developer Tools

Browser DevTools, error types, try/catch/finally, stack traces, and debugging strategies.

45 min
07

Beginner Project: Interactive Web Application

Build a complete interactive web application using all beginner concepts — DOM manipulation, events, arrays, and localStorage.

120 min
08

Deep Scope, Hoisting, and Closures

Lexical scope, hoisting mechanics, closure patterns, IIFEs, and the module pattern.

75 min
09

The `this` Keyword, Prototypes, and Classes

The `this` binding rules, prototype chain inheritance, and the ES6 class syntax — understanding JavaScript's unique object model.

75 min
10

Asynchronous JavaScript: Promises and Async/Await

Promises, async/await, error handling in async code, and the evolution of asynchronous patterns in JavaScript.

75 min
11

The Event Loop, Microtasks, and Concurrency

How the JavaScript event loop works: call stack, task queues, microtasks, requestAnimationFrame, and concurrent execution models.

60 min
12

Higher-Order Functions, Iterators, and Generators

Functional programming patterns, custom iterables, generator functions, and async generators.

60 min
13

ES6+ Modules and Modern Syntax

ES modules, modern syntax features (optional chaining, nullish coalescing, logical assignment), and the evolution of JavaScript.

60 min
14

Advanced Project: Real-Time Data Dashboard

Build a real-time data dashboard using async/await, fetch, event-driven architecture, and data visualization.

120 min
15

Type Coercion, Equality, and Grammar

The ECMAScript specification algorithms for type coercion, abstract equality, and the syntactic grammar of JavaScript.

60 min
16

Memory Management, GC, and Performance

JavaScript memory management, garbage collection algorithms, memory leak patterns, and performance optimization techniques.

75 min
17

Metaprogramming: Proxy, Reflect, and Symbols

Metaprogramming with Proxy, Reflect API, well-known Symbols, and property descriptors — intercepting and customizing language-level operations.

60 min
18

Error Handling and Defensive Programming

Robust error handling strategies, custom error types, defensive programming, and fault-tolerant design patterns.

45 min
19

Browser APIs, Web Workers, and Performance

Service Workers, IndexedDB, WebSockets, Canvas, WebRTC, and advanced browser performance optimization.

60 min
20

Module Systems, Bundlers, and Pipelines

Deep dive into module resolution algorithms, bundler internals, tree-shaking, code splitting, and modern build tooling.

60 min
21

ECMAScript Spec, TC39, and Future Proposals

Navigating the ECMAScript specification, the TC39 standardization process, reading spec algorithms, and exploring future proposals.

60 min
Curated Resources