My JavaScript Basics course is now live on freeCodeCamp’s YouTube channel.

The great thing about this course is that it also aligns with the Basic JavaScript Challenges on the freeCodeCamp curriculum. You can practice what you're learning through the videos using the freeCodeCamp challenges. (The course even teaches some concepts that aren’t yet covered in the freeCodeCamp curriculum.)

These videos are designed to quickly give you key information on each topic. Also, I designed them to be as modular as possible. They work fine as stand-alone videos, if you just want to learn about a single topic.

Besides the JavaScript Basics course, I’ve also developed playlists for ES6, Clean Code, Data Structures, Design Patterns, and jQuery. Below are links and descriptions of the videos to help you quickly find exactly what you want to learn.

**Update** My new video course about Algorithms is now live! Check out Algorithms in Motion from Manning Publications. Get 39% off my course by using code ‘39carnes’!

JavaScript Basics (complete course)

View full playlist here.

ES6

View full playlist here.

Var vs Const vs Let —Three different ways to declare variables. Classes — Learn about class expressions, class declarations, and inheritance / extending. Symbols —Symbols are a unique immutable data type. Template Literals — Template literals are string literals allowing embedded expressions. These are surrounded by backticks ``. Proxies — Proxies are used in to give objects custom behavior. One use is for data validation. …spread operator and rest operator — The spread operator (…) spreads out the elements of an array (or iterable object). The rest operator condenses elements. Arrow Functions — An arrow function in ES6 has a shorter syntax than a normal function and does not bind its own this. Destructuring — Destructuring assignment is special syntax for neatly assigning values taken directly from objects and arrays to variables. Map — Maps are data structures that store key-value pairs. See how they work and learn about the ES6 map object. import / export (modules) — The import and export statements allow you to break up your code in different files or modules.

DOM (Document Object Model)

View full playlist here.

jQuery

View full playlist here.

Getting Started with jQuery — jQuery is a very popular, lightweight JavaScript library. jQuery simplifies a lot of the complicated things from JavaScript, like AJAX calls and DOM manipulation. Learn the basic syntax in this video. jQuery events — In jQuery, most DOM events have an equivalent jQuery method. Learn about jQuery events in this video. jQuery effects — jQuery makes it easy to add simple effects to your web page. This video covers show, hide, slideUp, slideDown, fadeOut, fadeIn, toggle, stop, and delay.

Clean Code

These videos are all about writing clean code in JavaScript and are based on an article by Ryan McDermott which is based on a book by Robert C. Martin. Clean code is code that is readable, reusable, and refactorable.

View full playlist here.

Data Structures and Algorithms

View full playlist here.

Design Patterns

View full playlist here.

Singleton — The singleton design pattern limits the number of instances of a particular object to just one. Observer — With the observer design pattern, if an object is modified it broadcasts to dependent objects that a change has occurred. Module — The module design pattern in JavaScript is one of the most used designed pattern for keeping particular pieces of code independent from other parts. Mediator Design Pattern — The Mediator Design Pattern is a pattern that provides a central authority through which the different components of an application may communicate. See an example of this pattern in JavaScript.

React