← 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