Software Engineer & Educator
JavaScript Courses
Learn fundamental concepts of JavaScript to become a professional developer. Learn about JavaScript through a variety of courses and resources.
Functional JavaScript First Steps, v2
A friendly, practical introduction to functional programming fundamentals in JavaScript. Learn core functional programming concepts while coding with pure functions, recursion, higher-order functions, closures, and function composition.

drag handle
JavaScript Design Patterns for Web Apps
Independent Consultant
Implement classic patterns like Singleton, Factory, and Observer alongside modern patterns for single-page and multi-page architectures to build robust, efficient web apps using pure JavaScript.

drag handle
Professional JS: Features You Need to Know
Independent Consultant
Upgrade your JavaScript knowledge with post-ES6 features. Learn modern syntax, async programming, and advanced JavaScript features.

drag handle
Front-End System Design
Staff UI Engineer
Learn best practices for building scalable, high-performance web applications. Deep dive into front-end engineering: DOM APIs, virtualization, state management, and performance.

drag handle
Test Your JavaScript Knowledge
Lydia Hallie
Gain clarity on JavaScript's inner workings, including the event loop and asynchronous programming, scope, closures, and classes with interactive questions designed to enhance your understanding of JavaScript!

drag handle
Vanilla JavaScript Projects
Software Engineer & Educator
Put your fundamental JavaScript knowledge into practice through hands-on web projects. Use browser APIs, asynchronous programming, Node.js, and modern tooling to build and deploy web apps, all with vanilla JavaScript!

drag handle
Blazingly Fast JavaScript
terminal
Learn advanced JavaScript performance optimization: garbage collection, memory profiling, data structures like sets and arrays, and event loop management. Learn performance-driven programming, preparing you to write blazingly fast and efficient code!

drag handle
Bare Metal JavaScript: The JavaScript Virtual Machine
Qwik Creator (Previously Angular)
Build a mental model of JavaScript's performance characteristics through understanding virtual machines under the hood.

drag handle
A Tour of Web Capabilities
Independent Consultant
Explore what is possible with new Web APIs! Browsers can do so much now, including speech recognition, geolocation, OS integration, face detection, augmented reality, and reading from sensors, external hardware, and devices!

drag handle
Vanilla JS: You Might Not Need a Framework
Independent Consultant
Explore Vanilla JavaScript core concepts, work with DOM APIs, handle events, and build a web application from scratch. Delve into advanced topics like SPA routing, web components, and reactive programming.

drag handle
The Hard Parts of UI Development
Codesmith
Develop an under-the-hood knowledge of UI development by learning techniques such as data binding, UI composition, templating, virtual DOM and its reconciliation, and hooks, all from scratch!

drag handle
Advanced Web Development Quiz
Lydia Hallie
Challenge your knowledge with a quiz on the advanced parts of web development! Answer 30 questions from JavaScript and CSS to performance, web security, and HTTP protocols.

drag handle
Web Storage APIs
Independent Consultant
Go beyond localStorage to use newer and more performant APIs like IndexedDB for storing JSON, CacheStorage for caching requests, and the FileSystem API for accessing the local file system.

drag handle
Web Authentication APIs
Independent Consultant
Learn basic password logins to using Google to log in. Then, use WebAuthn API and Passkeys to use FaceID and biometrics to make passwordless web apps!

drag handle
JavaScript in the Background
Independent Consultant
Explore new web app capabilities to detect when your web app is in the background to execute code later, even when your web app isn’t in focus.

drag handle
JavaScript: From First Steps to Professional
Software Engineer & Educator
Take your first steps into the wide world of JavaScript and walk away with the core skills needed to become a professional JavaScript programmer!

drag handle
Complete Intro to Web Development, v3
Neon
This web development course will take you from building your first website to having the foundation for becoming a professional web developer. Start learning for free!

drag handle
A Tour of JavaScript & React Patterns
Lydia Hallie
Learn a suite of design patterns to improve your JavaScript and React code architecture!

drag handle
Web Components
Paravel
Create custom, reusable HTML elements with the Web Components API! Learn to create custom Web Components using JavaScript and the Lit library.

drag handle
Complete Intro to Real-Time
Neon
Learn to build apps where the client can push messages to the server and talk in real-time. Start today!

drag handle
JavaScript and TypeScript Monorepos
Stripe
Monorepos have taken the JavaScript world by storm, unlocking powerful new patterns around composition, encapsulation, and ease of maintenance.

drag handle
Interviewing for Front-End Engineers
Netflix
Prepare for the recruiter prescreen questions, from the phone screen to real cultural and technical interview questions that companies use to screen candidates.

drag handle
The Hard Parts of Functional JavaScript
Codesmith
Go under the hood of powerful techniques like: Higher Order Functions, Function Composition, Pure Functions, and Immutability of State.

drag handle
Getting Started with JavaScript, v2
You Don't Know JS
Get a tour of the building blocks of programming like variables, loops, functions and operations. Then learn the three main pillars of JavaScript.

drag handle
Functional-Light JavaScript, v3
You Don't Know JS
Improve your JavaScript by applying functional programming concepts like function purity, point-free, partial-application, currying, plus even more advanced concepts.

drag handle
The Hard Parts of Servers & Node.js
Codesmith
Uncover the most challenging, yet most powerful features in server Node.js, to help you write and debug professional server code.

drag handle
JavaScript: The Recent Parts
You Don't Know JS
Get up to speed with new object destructuring JavaScript features like tagged template literals, destructuring, iterators, generators, and async-await. Learn more!

drag handle
Deep JavaScript Foundations, v3
You Don't Know JS
Dive into JavaScript's core language features; types & coercion, scope & closure, and JavaScript's object-oriented system.

drag handle
The Hard Parts of Object Oriented JavaScript
Codesmith
Understand JavaScript’s prototypal design and ES6+ classes to better organize and scale your JavaScript apps.

drag handle
The Hard Parts of Asynchronous JavaScript
Codesmith
Gain an intuitive understanding of asynchronous features of JavaScript in ES6+: iterators, generators, promises, and async/await!

drag handle
A Practical Guide to Algorithms with JavaScript
Thumbtack
Learn to solve algorithms and analyze them efficiently in both an interview setting and also in your day-to-day development.

drag handle
JavaScript Performance
Temporal
Write more efficient JavaScript, optimize rendering performance, load assets faster with a CDN, split loading resources with Webpack, and more!

drag handle
Debugging and Fixing Common JavaScript Errors
Request Metrics
Learn what causes common JavaScript bugs and how to debug them. Learn how to use the latest developer tools to isolate and fix the source of issues.

drag handle
The Good Parts of JavaScript and the Web
Paypal
Learn the history of JavaScript with a big focus to its functions. Learn how browsers work, how servers work, and ways to enhance security.

drag handle
Rethinking Asynchronous JavaScript
You Don't Know JS
Effective asynchronous JavaScript means knowing various different patterns and weaving them together to write readable and understandable code.

drag handle
Asynchronous Programming in JavaScript (with Rx.js Observables)
Netflix
Learning how to build and manage asynchronous programs is perhaps the most important part of becoming an effective JavaScript programmer.

drag handle