This course will teach you advanced JavaScript from the ground up. It features a systematic walk-through of the most important concepts of the language, and teaches you to build a Google Keep clone and a Hacker News clone in vanilla JavaScript.
Intermediate
JavaScript Deep Dive
- 12 Sections
- 110 Lessons
- 14h Duration
Getting Started
2 Lessons
Variables & Strings
11 Lessons
- Module Intro: Variables & Strings
- Variable Basics with Var
- Challenge: Variable Basics
- Better Code with Strict Mode
- Why Use Let & Const Over Var
- Challenge: Const & Let
- How Const Improves Your Code
- Why Block Scoping Matters
- How Template Literals Improve Strings
- Challenge: Template Literals
- How Variables Should Be Named
Types & Conditionals
9 Lessons
Functions
10 Lessons
- Module Intro: Functions
- Why We Need Functions
- Challenge: Your First Function
- What is a Closure and Why it Matters
- Challenge: Count Downwards Using Closure
- Better Functions with Default Parameters
- Shorter Functions with Arrow Functions
- Challenge: Arrow Functions
- Partial Application for Single-Responsibility Functions
- How Functions Should Be Named
Objects & Maps
11 Lessons
- Module Intro: Objects & Maps
- Use Objects for Managing Key-Value Pairs
- Challenge: Your First Object
- Understand Primitive vs Object Types
- Get and Modify Object Data
- Easy Property Access with Destructuring
- Challenge: Object Destructuring
- Merge Objects with Object Spread
- How Maps Can Do What Objects Can’t
- Challenge: Your First Map
- Improve Methods with Arrow Functions
Arrays & Sets
17 Lessons
- Module Intro: Arrays
- Build Flexible Collections with Arrays
- Challenge: Your First Array
- Check Element Existence in Arrays
- Challenge: .Some and .Every
- Perform Actions on All Elements
- Get Subsets of Arrays
- Transform Arrays with .Reduce()
- Challenge: Transform Arrays with .Reduce()
- Understand the Power of .Reduce()
- Avoid Mutations with Array Spread
- Mold Arrays with the Spread Operator
- More Flexible Arrays with Destructuring
- Challenge: Array Destructuring
- Turn Objects into Flexible Arrays
- Get Unique Sets of Data
- Use New, Immutable Array Features
Classes
9 Lessons
- Module Intro: Classes
- What Are Constructor Functions?
- Challenge: Your First Constructor Function
- Understand the Prototype Chain
- Easy Prototypal Inheritance with Classes
- Challenge: Your First Class
- Share Class Features with Extends
- How To Get, Set and Simplify Classes
- Fix Context Problems with .Bind()
DOM
8 Lessons
Async JavaScript
8 Lessons
Google Keep Clone
8 Lessons
Essential Concepts
7 Lessons
Hacker News Clone
10 Lessons
- Module Intro: Hacker News Clone
- Hacker News – Creating HTML and CSS
- Hacker News – Adding Pages
- Hacker News – Requesting Data from API Endpoint
- Hacker News – Formatting Stories
- Hacker News – Creating Separate Pages for Stories
- Hacker News – Formatting Comments
- Hacker News – Building a Store
- Hacker News – Toggling Stories in and out of Favorites
- Hacker News – Building the Favorites Page