JavaScript
Full course · 21 lessonsThe 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.
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.
Control Flow, Operators, and Expressions
Conditionals, loops, operators, and expression evaluation — the building blocks of program logic.
Functions: Declarations, Scope, and Arrow Functions
Function declarations, expressions, arrow functions, parameters, and arguments — the core of JS modularity.
Objects, Arrays, and Collections
JavaScript objects, arrays, Maps, Sets — creating, accessing, iterating, and manipulating data structures.
The DOM and Browser APIs
Document Object Model, DOM manipulation, event handling, and essential browser APIs.
Debugging, Errors, and Developer Tools
Browser DevTools, error types, try/catch/finally, stack traces, and debugging strategies.
Beginner Project: Interactive Web Application
Build a complete interactive web application using all beginner concepts — DOM manipulation, events, arrays, and localStorage.
Deep Scope, Hoisting, and Closures
Lexical scope, hoisting mechanics, closure patterns, IIFEs, and the module pattern.
The `this` Keyword, Prototypes, and Classes
The `this` binding rules, prototype chain inheritance, and the ES6 class syntax — understanding JavaScript's unique object model.
Asynchronous JavaScript: Promises and Async/Await
Promises, async/await, error handling in async code, and the evolution of asynchronous patterns in JavaScript.
The Event Loop, Microtasks, and Concurrency
How the JavaScript event loop works: call stack, task queues, microtasks, requestAnimationFrame, and concurrent execution models.
Higher-Order Functions, Iterators, and Generators
Functional programming patterns, custom iterables, generator functions, and async generators.
ES6+ Modules and Modern Syntax
ES modules, modern syntax features (optional chaining, nullish coalescing, logical assignment), and the evolution of JavaScript.
Advanced Project: Real-Time Data Dashboard
Build a real-time data dashboard using async/await, fetch, event-driven architecture, and data visualization.
Type Coercion, Equality, and Grammar
The ECMAScript specification algorithms for type coercion, abstract equality, and the syntactic grammar of JavaScript.
Memory Management, GC, and Performance
JavaScript memory management, garbage collection algorithms, memory leak patterns, and performance optimization techniques.
Metaprogramming: Proxy, Reflect, and Symbols
Metaprogramming with Proxy, Reflect API, well-known Symbols, and property descriptors — intercepting and customizing language-level operations.
Error Handling and Defensive Programming
Robust error handling strategies, custom error types, defensive programming, and fault-tolerant design patterns.
Browser APIs, Web Workers, and Performance
Service Workers, IndexedDB, WebSockets, Canvas, WebRTC, and advanced browser performance optimization.
Module Systems, Bundlers, and Pipelines
Deep dive into module resolution algorithms, bundler internals, tree-shaking, code splitting, and modern build tooling.
ECMAScript Spec, TC39, and Future Proposals
Navigating the ECMAScript specification, the TC39 standardization process, reading spec algorithms, and exploring future proposals.
Free Books
Eloquent JavaScript (4th Edition)
A modern introduction covering core language features, the browser environment, and Node.js. Widely considered the best free JS book.
You Don't Know JS Yet
An in-depth series exploring the core mechanisms of JavaScript — closures, prototypes, async, and more.
The Modern JavaScript Tutorial
A massive, detailed guide covering everything from fundamentals to advanced async programming, DOM manipulation, and browser APIs.
Exploring JS: JavaScript for Programmers
A comprehensive reference by Dr. Axel Rauschmayer covering ES6+ features, modules, async patterns, and TypeScript.
Official Documentation
MDN Web Docs — JavaScript Guide
The definitive manual for the JavaScript language. Covers grammar, control flow, functions, objects, classes, promises, and iterators.
MDN — JavaScript Reference
Complete reference for all built-in objects, statements, operators, and expressions.
TC39 ECMAScript Proposals
Official repository tracking all ECMAScript proposals through the standardization pipeline.
Interactive Courses
The Odin Project — Full Stack JavaScript
A world-class open-source curriculum from absolute beginner to building full-stack applications.
freeCodeCamp — JavaScript Algorithms & Data Structures
Hands-on interactive coding challenges teaching syntax, functional programming, and algorithmic problem-solving.
Video Courses
Practice & Challenges
Reference & Cheatsheets
News & Updates
Community
Reddit r/javascript
The largest JavaScript community on Reddit — news, discussions, show & tell, and career advice.
Stack Overflow — JavaScript Tag
The definitive Q&A forum for troubleshooting errors and resolving language bugs.
JSConf
The umbrella organization for community-driven JavaScript conferences worldwide.

