JavaScript Learning Path
Write Professional, Modern JavaScript

Code your way from the fundamentals to advanced, reactive applications, and discover how far you can go with JavaScript!

Total time: 65 hours, 43 minutes

Core Coursework

Take these in order
Prerequisite: Basic understanding of HTML and CSS
Editor's Note
A practical introduction to JavaScript and an overview of the language, Anjana covers what you need to know to be competent at writing JavaScript.

JavaScript: From First Steps to Professional

Anjana Vakil
Anjana Vakil
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!

14 hours, 19 minutes CC

JavaScript: From First Steps to Professional
Editor's Note
Will’s course emphasizes in-depth knowledge of JavaScript and technical communication, two skills necessary for becoming a high-performing engineer.

JavaScript: The Hard Parts, v2

Will Sentance
Will Sentance
Codesmith

Take your JavaScript to the next level. Gain an understanding of callbacks, higher-order functions, closure, asynchronous and object-oriented JavaScript!

6 hours, 41 minutes CC

JavaScript: The Hard Parts, v2
Editor's Note
Many JavaScript developers quickly jump into a framework before understanding the power and potential of Vanilla JS. Use Max’s course to understand why you might not need a framework.

Vanilla JS: You Might Not Need a Framework

Maximiliano Firtman
Maximiliano Firtman
Independent Consultant

Explore Vanilla JavaScript, understand core concepts, work with the DOM API, handle events, and build a web application from scratch. Delve into advanced topics like SPA routing, web components, and reactive programming.

5 hours, 52 minutes CC

Vanilla JS: You Might Not Need a Framework
Editor's Note
Kyle’s course reinforces many foundational concepts covered in Will’s course but goes even deeper. He also covers types and the type coercion that goes on under the hood of JavaScript.

Deep JavaScript Foundations, v3

Kyle Simpson
Kyle Simpson
You Don't Know JS

Dive into JavaScript's core language features; types & coercion, scope & closure, and JavaScript's object-oriented system.

10 hours, 32 minutes CC

Deep JavaScript Foundations, v3
Editor's Note
Modern JavaScript builds on top of the foundations and adds more to the language. Kyle’s JavaScript the Recent Parts course will give you a deeper understanding of the modern features in the JavaScript Language.

JavaScript: The Recent Parts

Kyle Simpson
Kyle Simpson
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!

4 hours, 9 minutes CC

JavaScript: The Recent Parts
Editor's Note
Understanding asynchronous and functional programming drastically increases your programming abilities.

The Hard Parts of Asynchronous JavaScript

Will Sentance
Will Sentance
Codesmith

Develop an intuitive understanding of the new features of JavaScript in ES6+: iterators, generators, promises, and async/await!

4 hours, 46 minutes CC

The Hard Parts of Asynchronous JavaScript
Editor's Note
Functional programming relies on tools like map/reduce/filter, pure functions, and immutability. These tools allow developers to compose pure functions to write more predictable and bug-free code.

Functional-Light JavaScript, v3

Kyle Simpson
Kyle Simpson
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.

10 hours, 1 minute CC

Functional-Light JavaScript, v3
Editor's Note
Go under the hood of the web browser as Will builds a robust mental model for UI composition and virtual DOM rendering so you can understand and recreate the reactivity of frameworks in the most performant way.

The Hard Parts of UI Development

Will Sentance
Will Sentance
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! Master UI frameworks such as React, Angular, Vue, and Svelte by seeing exactly what problems they solve.

9 hours, 19 minutes CC

The Hard Parts of UI Development
Editor's Note
We have even more optional JavaScript courses! TypeScript is a standard way to add type information into the language. You’ll want to learn to optimize and measure your code’s performance. Check out the various design patterns you can utilize in your applications and learn some techniques to debug your JavaScript.

Elective Coursework

Optional, take in any order

Vanilla JavaScript Projects

Anjana Vakil
Anjana Vakil
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!

9 hours CC

Vanilla JavaScript Projects

TypeScript 5+ Fundamentals, v4

Mike North
Mike North
Stripe

TypeScript adds a powerful type system to JavaScript, adding type aliases, union/intersection types, and generics. Migrate to TypeScript, enhancing code reliability and error detection in your codebase.

5 hours, 12 minutes CC

TypeScript 5+ Fundamentals, v4

JavaScript Performance

Steve Kinney
Steve Kinney
Temporal

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

4 hours, 55 minutes CC

JavaScript Performance

The Hard Parts of Object Oriented JavaScript

Will Sentance
Will Sentance
Codesmith

Understand JavaScript’s prototypal design and ES6+ classes to better organize and scale your JavaScript apps.

4 hours, 30 minutes CC

The Hard Parts of Object Oriented JavaScript

A Tour of JavaScript & React Patterns

Lydia Hallie
Lydia Hallie
Lydia Hallie

Learn a suite of design patterns to improve your JavaScript and React code architecture!

3 hours, 29 minutes CC

A Tour of JavaScript & React Patterns

JavaScript Testing Practices and Principles

Kent C. Dodds
Kent C. Dodds
Professional Trainer

In this course, you'll learn the principles and best practices for writing maintainable test applications to catch errors before your product reaches the end user.

3 hours, 39 minutes CC

JavaScript Testing Practices and Principles

Debugging and Fixing Common JavaScript Errors

Todd Gardner
Todd Gardner
TrackJS

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.

3 hours, 39 minutes CC

Debugging and Fixing Common JavaScript Errors

Hardcore Functional Programming in JavaScript, v2

Brian Lonsdorf
Brian Lonsdorf
Salesforce

Learn functional programming concepts such as pure functions, currying, composition, functors, monads, and see functional concepts in action!

3 hours, 44 minutes CC

Hardcore Functional Programming in JavaScript, v2