The Complete JavaScript Course 2020: Build Real Projects!

Master JavaScript with the most complete course! Projects, challenges, quizzes, JavaScript ES6+, OOP, AJAX, Webpack

All Levels 4.5(62,045 Ratings) 268,801 Students enrolled
Created by Jonas Schmedtmann Last updated 12/2019 English English
What will i learn?
  • Go from a total beginner to an advanced JavaScript developer
  • Code 3 beautiful real-world apps with both ES5 and ES6+ (no boring toy apps here)
  • JavaScript and programming fundamentals: variables, boolean logic, if/else, loops, functions, arrays, etc.
  • Complex features like the 'this' keyword, function constructors, prototypal inheritance, first-class functions, closures
  • Asynchronous JavaScript: The event loop, promises, async/await, AJAX and APIs
  • Modern JavaScript for 2020: NPM, Webpack, Babel and ES6 modules
  • A true understanding of how JavaScript works behind the scenes
  • What's new in ES6: arrow functions, classes, default and rest parameters, etc.
  • Practice your new skills with coding challenges (solutions included)
  • Organize and structure your code using JavaScript patterns like modules
  • Get friendly and fast support in the course Q&A
  • Downloadable lectures, code and design assets for all projects

Curriculum for this course
167 Lectures 27:49:26
Course Introduction
2 Lectures 00:07:58
  • Welcome to the Course! 00:03:41
  • Setting up Our Tools 00:04:17
  • READ BEFORE YOU START! 00:00:39
  • Section Intro 00:00:54
  • Let's start coding! 00:05:50
  • A Brief Introduction to JavaScript 00:04:39
  • Variables and Data Types 00:13:08
  • Variable Mutation and Type Coercion 00:11:44
  • Basic Operators 00:08:30
  • Operator Precedence 00:14:25
  • Coding Challenge 1 00:02:01
  • Coding Challenge 1: Solution 00:04:40
  • If / else Statements 00:08:38
  • Boolean Logic 00:09:52
  • The Ternary Operator and Switch Statements 00:13:03
  • Truthy and Falsy Values and Equality Operators 00:08:03
  • Coding Challenge 2 00:02:10
  • Coding Challenge 2: Solution 00:08:17
  • Functions 00:11:24
  • Function Statements and Expressions 00:10:07
  • Arrays 00:12:36
  • Coding Challenge 3 00:01:43
  • Coding Challenge 3: Solution 00:07:57
  • Objects and Properties 00:08:57
  • Objects and Methods 00:07:13
  • Coding Challenge 4 00:01:16
  • Coding Challenge 4: Solution 00:08:51
  • Loops and Iteration 00:21:26
  • Coding Challenge 5 00:04:09
  • Coding Challenge 5: Solution, Part 1 00:12:03
  • Coding Challenge 5: Solution, Part 2 00:09:58
  • JavaScript Versions: ES5, ES6 / ES2015 and ES6+ 00:06:07
  • Download the Code 00:00:50
  • Section Intro 00:01:05
  • How Our Code Is Executed: JavaScript Parsers and Engines 00:02:51
  • Execution Contexts and the Execution Stack 00:06:04
  • Execution Contexts in Detail: Creation and Execution Phases and Hoisting 00:04:25
  • Hoisting in Practice 00:12:33
  • Scoping and the Scope Chain 00:13:11
  • The 'this' Keyword 00:02:22
  • The 'this' Keyword in Practice 00:11:24
  • Download the Code 00:00:07
  • Section Intro 00:00:46
  • The DOM and DOM Manipulation 00:02:14
  • 5-Minute HTML and CSS Crash Course 00:05:44
  • Project Setup and Details 00:04:39
  • First DOM Access and Manipulation 00:19:56
  • Events and Event Handling: Rolling the Dice 00:17:39
  • Updating Scores and Changing the Active Player 00:14:23
  • Implementing Our 'Hold' Function and the DRY Principle 00:17:28
  • Creating a Game Initialization Function 00:11:28
  • Finishing Touches: State Variables 00:07:48
  • Coding Challenge 6 00:02:34
  • Coding Challenge 6: Solution, Part 1 00:06:31
  • Coding Challenge 6: Solution, Part 2 00:09:05
  • Coding Challenge 6: Solution, Part 3 00:07:11
  • Download the Code 00:00:07
  • Section Intro 00:00:58
  • Everything Is an Object: Inheritance and the Prototype Chain 00:10:25
  • Creating Objects: Function Constructors 00:14:26
  • The Prototype Chain in the Console 00:08:44
  • Creating Objects: Object.create 00:06:45
  • Primitives vs. Objects 00:08:43
  • First Class Functions: Passing Functions as Arguments 00:15:13
  • First Class Functions: Functions Returning Functions 00:08:49
  • Immediately Invoked Function Expressions (IIFE) 00:06:46
  • Closures 00:17:24
  • Bind, Call and Apply 00:17:08
  • Coding Challenge 7 00:07:11
  • Coding Challenge 7: Solution, Part 1 00:18:08
  • Coding Challenge 7: Solution, Part 2 00:16:02
  • Download the Code 00:00:07
  • Section Intro 00:00:59
  • Project Setup and Details 00:04:45
  • Project Planning and Architecture: Step 1 00:06:01
  • Implementing the Module Pattern 00:17:38
  • Setting up the First Event Listeners 00:16:07
  • Reading Input Data 00:16:31
  • Creating an Initialization Function 00:05:26
  • Creating Income and Expense Function Constructors 00:09:37
  • Adding a New Item to Our Budget Controller 00:18:25
  • Adding a New Item to the UI 00:19:52
  • Clearing Our Input Fields 00:11:50
  • Updating the Budget: Controller 00:11:18
  • Updating the Budget: Budget Controller 00:21:00
  • Updating the Budget: UI Controller 00:11:55
  • Project Planning and Architecture: Step 2 00:02:41
  • Event Delegation 00:04:01
  • Setting up the Delete Event Listener Using Event Delegation 00:19:34
  • Deleting an Item from Our Budget Controller 00:17:33
  • Deleting an Item from the UI 00:08:08
  • Project Planning and Architecture: Step 3 00:02:04
  • Updating the Percentages: Controller 00:03:56
  • Updating the Percentages: Budget Controller 00:14:42
  • Updating the Percentages: UI Controller 00:12:07
  • Formatting Our Budget Numbers: String Manipulation 00:19:39
  • Displaying the Current Month and Year 00:07:08
  • Finishing Touches: Improving the UX 00:10:39
  • We’ve Made It! Final Considerations 00:01:40
  • Download the Code 00:00:07
  • Section Intro 00:00:52
  • What's new in ES6 / ES2015 00:01:47
  • Variable Declarations with let and const 00:16:44
  • Blocks and IIFEs 00:03:54
  • Strings in ES6 / ES2015 00:10:21
  • Arrow Functions: Basics 00:08:22
  • Arrow Functions: Lexical 'this' Keyword 00:19:34
  • Destructuring 00:08:04
  • Arrays in ES6 / ES2015 00:17:52
  • The Spread Operator 00:10:12
  • Rest Parameters 00:13:48
  • Default Parameters 00:08:07
  • Maps 00:20:34
  • Classes 00:10:01
  • Classes with Subclasses 00:16:12
  • Coding Challenge 8 00:03:04
  • Coding Challenge 8: Solution 00:31:25
  • Download the Code 00:00:07
  • Section Intro 00:00:36
  • An Example of Asynchronous JavaScript 00:06:27
  • Understanding Asynchronous JavaScript: The Event Loop 00:08:44
  • The Old Way: Asynchronous JavaScript with Callbacks 00:09:22
  • From Callback Hell to Promises 00:22:45
  • From Promises to Async/Await 00:10:49
  • AJAX and APIs 00:03:03
  • Making AJAX Calls with Fetch and Promises 00:17:15
  • Making AJAX Calls with Fetch and Async/Await 00:10:06
  • Section Intro 00:00:58
  • Project Overview 00:04:47
  • An Overview of Modern JavaScript 00:03:40
  • A Brief Introduction to the Command Line 00:11:31
  • A Modern Setup: Installing Node.js and NPM 00:11:11
  • A Modern Setup: Configuring Webpack 00:16:04
  • A Modern Setup: The Webpack Dev Server 00:14:58
  • A Modern Setup: Babel 00:15:22
  • Planning our Project Architecture with MVC 00:03:05
  • How ES6 Modules Work 00:10:29
  • Making our First API Calls 00:15:02
  • Building the Search Model 00:07:08
  • Building the Search Controller 00:11:40
  • Building the Search View - Part 1 00:24:15
  • Building the Search View - Part 2 00:13:13
  • Rendering an AJAX Loading Spinner 00:11:11
  • Implementing Search Results Pagination 00:33:31
  • Building the Recipe Model - Part 1 00:14:33
  • Building the Recipe Controller 00:14:15
  • Building the Recipe Model - Part 2 00:40:29
  • Building the Recipe View - Part 1 00:13:57
  • Building the Recipe View - Part 2 00:18:54
  • Updating Recipe Servings 00:15:21
  • Building the Shopping List Model 00:15:22
  • Building the Shopping List View 00:06:47
  • Building the Shopping List Controller 00:16:15
  • Building the Likes Model 00:06:43
  • Building the Likes Controller 00:08:39
  • Building the Likes View 00:21:35
  • Implementing Persistent Data with localStorage 00:13:58
  • Wrapping up: Final Considerations 00:07:14
  • Note: Tooling Changes 00:01:20 PLEASE READ: Changes to the Project API 00:00:58
  • 30 Questions to Test Your JavaScript Knowledge 30 questions
  • Some Considerations Before You Start 00:01:11
  • Where to Go from Here 00:02:12
  • Be the First to Know About New Course Launches! 00:00:34
  • A Quick Overview of Node.js 00:04:24
  • The Laptop Store Project, Part 1 00:31:58
  • The Laptop Store Project, Part 2 00:37:47
Requirements
  • No coding experience is necessary to take this course! I take you from beginner to expert!
  • Any computer and OS will work — Windows, macOS or Linux. We will set up your text editor the course.
  • A basic understanding of HTML and CSS is a plus, but not a must! The course includes a 5-minutes HTML and CSS crash course.
+ View more
Description

*** The #1 bestselling JavaScript course on Udemy! ***

"Excellent course. Jonas explains the core concepts in javascript that are usually glossed over in other courses. And he does it in a manner that is clear and concise." — John Collins

...

Do you want to learn the number #1 programming language that powers the internet?

Are you tired of wasting your time and money on random youtube videos or JavaScript courses that are either too simple, or too difficult to follow?

Or are you struggling to deeply understand and apply JavaScript to real projects?

If your answer is a big YES... Then this is exactly the course you are looking for!

...

So what is the course about?

This is a truly complete JavaScript course, that goes beyond what other JavaScript courses out there teach you. 

I will take you from a complete JavaScript beginner to an advanced developer. You will not just learn the JavaScript language itself, you will also learn how to program. How to solve problems. How to structure and organize code using common JavaScript patterns.

Come with me on a journey with the goal of truly understanding the JavaScript language. And I explain everything on the way with great detail!

You will learn "why" something works in JavaScript, not just "how". Because in the modern JavaScript world of today, you need more than just knowing how something works. You need to debug code, you need to understand code, you need to be able to think about code.

To achieve our goal together, the course contains coding sessions, coding challenges, theory lectures, real-world projects and a final course exam.

This course is different because it's not just about writing code, it's also about how and why code works the way it does. Because it's the perfect mix between theory and practice. Because it focuses not only on small coding examples, but also on real-world projects and use cases. 

So, by the end of the course, you will be a capable JavaScript developer, able to write, understand and debug JavaScript code using all the powerful features the language offers to us.

...

Here is exactly what we cover in this course:

• All the JavaScript and programming fundamentals: things like variables, data types, boolean logic, if/else statements, loops, functions, objects, arrays, and more.

• Everything you need to know in order to gain a deep understanding of how JavaScript works behind the scenes: execution contexts, hoisting, scoping, the 'this' keyword, and more.

• How to make JavaScript code interact with webpages: DOM manipulation. Learn how to select and change webpage elements, create new elements and handle DOM events.

• Complex JavaScript features such as function constructors, prototypal inheritance, first-class functions, closures, the bind and apply methods, and more.

• We are going to code 3 beautiful real-world apps to apply our knowledge and learn new concepts (I provide the starter HTML and CSS code for these projects).

• Learn how to organize and structure your code using modules and functions, how to create data privacy and encapsulation, and why that's so important.

• What's new in the most modern version of JavaScript: new features of ES6 / ES2015.

• Asynchronous JavaScript: the event loop, promises, async/await, AJAX calls and APIs.

• Modern JavaScript in 2018: Learn how to set up a modern development workflow with NPM, Webpack, Babel and ES6 modules.

...

Let's now find out if this course is for you. It's a perfect fit if...

Student #1: You want to gain a deep understanding of the most popular programming language in the world: JavaScript.

Student #2: You have taken other JavaScript courses but: 1) still don't really understand JavaScript, or 2) still don't feel confident to code real-world apps. This course is perfect for you!

Student #3: You are interested in using popular libraries/frameworks like React, Angular or Node.js.

Student #4: You want to get started with programming in general: JavaScript is a great language to learn how to code.

...

Now it's your turn to decide. This is what you get:

• Lifetime access to HD quality videos. No monthly subscription. Learn at your own pace, whenever you want.

• English closed captions (not the auto-generated ones provided by Udemy).

• All videos are downloadable. Learn wherever you want, even without an internet connection!

• Downloadable starter code and final code for each section.

• Free helpful support in the course Q&A when you have questions or get stuck.

• Multiple coding challenges to practice your new skills (solutions included).

• A final course exam with 30 questions to test your JavaScript knowledge.

Sounds great? Then start this adventure today by clicking the “Take this course" button, and join me in the only JavaScript course that you will need!

+ View more
Other related courses
02:38:43
3.8 42 $149.99 Free
08:53:47
3.8 32 Free
01:31:27
Updated Wed, 20-Nov-2019
4.1 18 $149.99 Free
01:45:50
4.1 13 $94.99 Free
04:45:08
4.1 15 Free
01:04:45
4.1 11 Free
03:48:48
4.4 6 $19.99 Free
05:25:07
4.4 15 Free
01:10:37
4.1 6 Free
03:52:13
Updated Mon, 02-Sep-2019
4.1 11 $99.99 Free
04:28:09
4.3 5 $19.99 Free
06:19:49
4.4 5 Free
01:52:35
4 15 $74.99 Free
01:39:41
3.7 11 $79.99 Free
02:09:40
4.2 12 Free
01:01:33
4.2 7 $199.99 Free
51:12:35
4.2 6 $199.99 Free
02:23:35
Updated Tue, 09-Jul-2019
3.7 8 $99.99 Free
01:13:12
4.3 17 $139.99 Free
01:31:26
4.3 15 $139.99 Free
00:58:35
4.1 12 $94.99 Free
12:15:26
4.6 11 $99.99 Free
03:15:34
4.2 11 $199.99 Free
01:15:31
4.2 3 Free
00:44:15
4.5 5 $199.99 Free
03:36:22
4.7 0 Free
16:47:11
3.6 1 Free
03:09:33
Updated Sun, 03-Sep-2017
3.8 10 Free
02:07:36
3.9 0 Free
04:37:27
3.8 1 Free
02:14:18
Updated Fri, 23-Mar-2018
3.7 5 Free
02:23:03
4.3 1 Free
06:22:46
Updated Wed, 23-Mar-2016
4.1 1 Free
04:17:53
4.4 3 Free
00:57:12
3.4 3 Free
02:13:31
4.1 5 Free
12:52:08
3.5 3 Free
01:00:01
Updated Sat, 21-Dec-2019
2.3 3 Free
04:32:16
3.7 0 Free
03:41:40
4.3 1 Free
04:23:54
3.8 0 Free
02:12:25
4.3 0 Free
01:03:10
Updated Fri, 06-Dec-2019
3.9 2 Free
03:33:25
4.1 1 Free
02:43:49
4.4 0 Free
02:00:25
4.5 0 Free
01:10:58
3.8 6 Free
02:55:06
4.2 3 Free
00:36:19
Updated Tue, 28-Mar-2017
3.5 1 Free
02:18:52
4.1 10 Free
00:31:06
Updated Mon, 13-Nov-2017
3.6 5 Free
00:50:23
4 2 Free
02:27:52
Updated Wed, 07-Aug-2019
4.2 4 Free
00:50:19
3.7 4 $129.99 Free
01:49:58
3.9 5 $139.99 Free
01:17:39
Updated Thu, 26-Dec-2019
0 3 Free
03:42:56
4 8 $199.99 Free
02:01:15
Updated Mon, 23-Dec-2019
3.9 1 $199.99 Free
01:40:29
Updated Mon, 23-Dec-2019
3.7 4 $199.99 Free
02:15:39
Updated Mon, 23-Dec-2019
3.1 6 $19.99 Free
02:18:14
4.2 3 $129.99 Free
01:31:32
Updated Mon, 23-Dec-2019
3.8 1 $19.99 Free
01:24:32
Updated Mon, 23-Dec-2019
3.8 1 $19.99 Free
01:30:20
Updated Mon, 23-Dec-2019
3.5 2 $19.99 Free
01:19:56
Updated Mon, 23-Dec-2019
3.5 4 $19.99 Free
00:59:13
Updated Mon, 23-Dec-2019
3.2 4 $19.99 Free
01:01:52
Updated Mon, 23-Dec-2019
3.4 5 $19.99 Free
01:53:25
Updated Mon, 23-Dec-2019
3.4 5 $19.99 Free
02:17:41
Updated Mon, 23-Dec-2019
3.5 5 $19.99 Free
00:47:39
Updated Mon, 23-Dec-2019
3.7 4 $19.99 Free
00:41:25
Updated Mon, 23-Dec-2019
3.5 4 $19.99 Free
01:00:48
Updated Mon, 23-Dec-2019
3.4 4 $19.99 Free
00:33:47
Updated Mon, 23-Dec-2019
3.6 2 $19.99 Free
01:09:52
Updated Mon, 23-Dec-2019
3.4 6 $199.99 Free
00:40:16
Updated Mon, 23-Dec-2019
3.2 6 $199.99 Free
00:49:55
Updated Mon, 23-Dec-2019
3.6 2 $199.99 Free
02:34:03
4 2 Free
24:16:36
4.2 30 $199.99 Free
00:37:00
3.6 1 $99.99 Free
07:52:29
0 12 $114.99 Free
05:38:23
Updated Sat, 17-Aug-2019
4.3 1 $34.99 Free
01:20:14
Updated Tue, 14-May-2013
4 0 Free
05:57:07
3.7 7 $159.99 Free
05:26:39
0 14 $39.99 Free
00:37:17
3.9 4 $99.99 Free
06:23:22
2.5 12 Free
08:33:58
3.9 10 $19.99 Free
27:55:46
4.5 3 $199.99 Free
47:29:47
Updated Tue, 31-Dec-2019
4.6 55 $179.99 Free
03:32:49
Updated Sat, 28-Sep-2019
4.6 16 $49.99 Free
14:59:04
4.7 3 $199.99 Free
13:30:15
Updated Thu, 26-Dec-2019
4.5 22 $149.99 Free
28:04:40
4.7 38 $199.99 Free
10:22:00
4.6 11 $119.99 Free
14:51:23
4.2 76 $194.99 Free
46:24:20
Updated Thu, 12-Dec-2019
4.6 62 $199.99 Free
05:30:27
4 8 $159.99 Free
04:17:37
4 1 Free
03:59:09
4.7 1 Free
03:41:47
3 8 Free
04:00:56
4.1 2 $149.99 Free
03:35:47
4.2 3 $199.99 Free
22:12:56
4 6 $199.99 Free
08:03:16
4.3 1 Free
10:51:38
3.3 3 $199.99 Free
14:41:03
4.2 0 Free
04:35:13
3.8 2 Free
39:30:00
4 3 Free
04:32:42
3.8 1 Free
05:32:51
4.4 1 Free
06:43:19
Updated Sun, 04-Aug-2019
4.1 2 Free
03:20:40
4.2 4 Free
05:51:57
Updated Sat, 16-Nov-2019
4.1 9 Free
18:45:45
Updated Tue, 24-Sep-2019
4.6 1 Free
04:47:30
4.1 11 Free
02:39:55
3.7 13 Free
13:17:19
3.8 8 $124.99 Free
01:18:41
Updated Mon, 23-Dec-2019
0 6 $19.99 Free
14:40:08
4.1 5 Free
01:18:30
Updated Sun, 12-Jan-2020
0 4 Free
03:09:37
3.9 5 Free
08:12:53
4.7 3 $39.99 Free
21:42:23
Updated Sun, 08-Dec-2019
4.6 9 $174.99 Free
02:18:00
4.3 5 $129.99 Free
14:34:08
4.6 9 $149.99 Free
17:04:39
Updated Thu, 26-Dec-2019
4.5 9 $109.99 Free
23:53:13
4.5 6 $94.99 Free
11:00:44
4.5 8 $149.99 Free
12:36:12
4.6 13 $149.99 Free
05:49:54
Updated Sun, 03-Nov-2019
4.6 8 $109.99 Free
10:11:39
4 5 $49.99 Free
02:52:39
Updated Fri, 10-Jan-2020
3 4 Free
01:06:37
Updated Sun, 19-Jan-2020
4.1 6 $19.99 Free
00:55:55
4.9 0 Free
01:57:08
4.3 7 $199.99 Free
05:05:38
Updated Sun, 10-Aug-2014
4 0 Free
00:58:40
Updated Wed, 20-Nov-2019
4.2 4 Free
06:20:09
4.2 2 Free
29:24:58
4.1 6 Free
01:19:25
3.2 4 Free
00:45:46
Updated Wed, 06-Nov-2019
2 2 $19.99 Free
09:10:22
4.4 5 Free
01:20:24
4 4 Free
03:51:23
3.8 0 Free
00:40:21
Updated Thu, 22-Aug-2019
3.2 2 Free
02:07:04
Updated Tue, 14-Aug-2018
0 4 Free
02:19:58
Updated Sun, 02-Jun-2019
3.2 2 Free
01:51:26
Updated Mon, 13-Jan-2020
0 9 $99.99 Free
03:04:46
Updated Wed, 22-Jan-2020
4.3 3 Free
01:57:15
Updated Fri, 29-Sep-2017
4.3 2 Free
08:16:39
4.3 5 $174.99 Free
06:41:57
4.1 4 $174.99 Free
07:58:41
4.4 1 $194.99 Free
01:08:54
4 1 Free
01:25:26
4 1 Free
00:31:50
Updated Tue, 07-Jan-2020
3.8 1 Free
02:21:42
0 0 $179.99 Free
02:51:06
3.5 1 Free
02:26:30
Updated Sat, 25-Jan-2020
3.6 2 $99.99 Free
00:36:04
3.4 0 Free
03:10:29
4 2 Free
42:10:51
4.7 6 $199.99 Free
01:55:44
4.3 4 $99.99 Free
01:15:58
3.3 6 $199.99 Free
05:50:21
4.4 15 Free
11:51:39
4.5 36 $199.99 Free
04:00:57
3.9 2 $199.99 Free
07:33:47
4.1 3 $19.99 Free
06:20:15
Updated Thu, 04-Oct-2018
3.8 2 $99.99 Free
02:21:45
4.2 2 $199.99 Free
14:28:07
3.9 2 $199.99 Free
02:41:06
4.2 2 $104.99 Free
02:05:43
Updated Sun, 29-Oct-2017
3.7 4 Free
02:34:40
Updated Tue, 05-Dec-2017
4 3 Free
35:24:16
4.5 48 $189.99 Free
About the instructor
  • 89 Students
  • 4 Courses
+ View more
Web Developer, Designer, and Teacher
Student feedback
4.5
Average rating
  • 1%
  • 2%
  • 13%
  • 60%
  • 122%
Comments
Free $199.99
Includes:
  • 27:49:26 On demand videos
  • 167 Lessons
  • Full lifetime access
  • Access on mobile and tv