The Complete JavaScript Course 2020: Build Real Projects!
4.6 (77,744 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
327,055 students enrolled

The Complete JavaScript Course 2020: Build Real Projects!

Master JavaScript with the most complete course! Projects, challenges, quizzes, JavaScript ES6+, OOP, AJAX, Webpack
Bestseller
4.6 (77,744 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
327,055 students enrolled
Created by Jonas Schmedtmann
Last updated 12/2019
English
English, French [Auto], 9 more
  • German [Auto]
  • Indonesian [Auto]
  • Italian [Auto]
  • Japanese [Auto]
  • Polish [Auto]
  • Portuguese [Auto]
  • Spanish [Auto]
  • Thai [Auto]
  • Turkish [Auto]
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 28 hours on-demand video
  • 11 articles
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll 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
Course content
Expand all 166 lectures 27:55:15
+ JavaScript Language Basics
30 lectures 04:00:27
+ How JavaScript Works Behind the Scenes
9 lectures 54:01
Section Intro
01:05
Download the Code
00:06
How Our Code Is Executed: JavaScript Parsers and Engines
02:51
Execution Contexts and the Execution Stack
06:04
Execution Contexts in Detail: Creation and Execution Phases and Hoisting
04:25
Hoisting in Practice
12:33
Scoping and the Scope Chain
13:11
The 'this' Keyword
02:22
The 'this' Keyword in Practice
11:24
+ JavaScript in the Browser: DOM Manipulation and Events
15 lectures 02:07:32
Section Intro
00:46
Download the Code
00:06
The DOM and DOM Manipulation
02:14
5-Minute HTML and CSS Crash Course
05:44
Project Setup and Details
04:39
First DOM Access and Manipulation
19:56
Events and Event Handling: Rolling the Dice
17:39
Updating Scores and Changing the Active Player
14:23
Implementing Our 'Hold' Function and the DRY Principle
17:28
Creating a Game Initialization Function
11:28
Finishing Touches: State Variables
07:48
Coding Challenge 6
02:34
Coding Challenge 6: Solution, Part 1
06:31
Coding Challenge 6: Solution, Part 2
09:05
Coding Challenge 6: Solution, Part 3
07:11
+ Advanced JavaScript: Objects and Functions
15 lectures 02:36:48
Section Intro
00:58
Download the Code
00:06
Everything Is an Object: Inheritance and the Prototype Chain
10:25
Creating Objects: Function Constructors
14:26
The Prototype Chain in the Console
08:44
Creating Objects: Object.create
06:45
Primitives vs. Objects
08:43
First Class Functions: Passing Functions as Arguments
15:13
First Class Functions: Functions Returning Functions
08:49
Immediately Invoked Function Expressions (IIFE)
06:46
Closures
17:24
Bind, Call and Apply
17:08
Coding Challenge 7
07:11
Coding Challenge 7: Solution, Part 1
18:08
Coding Challenge 7: Solution, Part 2
16:02
+ Putting It All Together: The Budget App Project
28 lectures 04:55:22
Section Intro
00:59
Download the Code
00:06
Project Setup and Details
04:45
Project Planning and Architecture: Step 1
06:01
Implementing the Module Pattern
17:38
Setting up the First Event Listeners
16:07
Reading Input Data
16:31
Creating an Initialization Function
05:26
Creating Income and Expense Function Constructors
09:37
Adding a New Item to Our Budget Controller
18:25
Adding a New Item to the UI
19:52
Clearing Our Input Fields
11:50
Updating the Budget: Controller
11:18
Updating the Budget: Budget Controller
21:00
Updating the Budget: UI Controller
11:55
Project Planning and Architecture: Step 2
02:41
Event Delegation
04:01
Setting up the Delete Event Listener Using Event Delegation
19:34
Deleting an Item from Our Budget Controller
17:33
Deleting an Item from the UI
08:08
Project Planning and Architecture: Step 3
02:04
Updating the Percentages: Controller
03:56
Updating the Percentages: Budget Controller
14:42
Updating the Percentages: UI Controller
12:07
Formatting Our Budget Numbers: String Manipulation
19:39
Displaying the Current Month and Year
07:08
Finishing Touches: Improving the UX
10:39
We’ve Made It! Final Considerations
01:40
+ Next Generation JavaScript: Intro to ES6 / ES2015
18 lectures 03:20:59
Section Intro
00:52
Download the Code
00:06
What's new in ES6 / ES2015
01:47
Variable Declarations with let and const
16:44
Blocks and IIFEs
03:54
Strings in ES6 / ES2015
10:21
Arrow Functions: Basics
08:22
Arrow Functions: Lexical 'this' Keyword
19:34
Destructuring
08:04
Arrays in ES6 / ES2015
17:52
The Spread Operator
10:12
Rest Parameters
13:48
Default Parameters
08:07
Maps
20:34
Classes
10:01
Classes with Subclasses
16:12
Coding Challenge 8
03:04
Coding Challenge 8: Solution
31:25
+ Asynchronous JavaScript: Promises, Async/Await and AJAX
9 lectures 01:29:07
Section Intro
00:36
An Example of Asynchronous JavaScript
06:27
Understanding Asynchronous JavaScript: The Event Loop
08:44
The Old Way: Asynchronous JavaScript with Callbacks
09:22
From Callback Hell to Promises
22:45
From Promises to Async/Await
10:49
AJAX and APIs
03:03
Making AJAX Calls with Fetch and Promises
17:15
Making AJAX Calls with Fetch and Async/Await
10:06
+ Modern JavaScript: Using ES6, NPM, Babel and Webpack
33 lectures 07:04:19
Section Intro
00:58
Project Overview
04:47
An Overview of Modern JavaScript
03:40
A Brief Introduction to the Command Line
11:31
A Modern Setup: Installing Node.js and NPM
11:11
Note: Tooling Changes
01:14
A Modern Setup: Configuring Webpack
16:04
A Modern Setup: The Webpack Dev Server
14:58
A Modern Setup: Babel
15:22
Planning our Project Architecture with MVC
03:05
How ES6 Modules Work
10:29
PLEASE READ: Changes to the Project API
00:58
Making our First API Calls
15:02
Building the Search Model
07:08
Building the Search Controller
11:40
Building the Search View - Part 1
24:15
Building the Search View - Part 2
13:13
Rendering an AJAX Loading Spinner
11:11
Implementing Search Results Pagination
33:31
Building the Recipe Model - Part 1
14:33
Building the Recipe Controller
14:15
Building the Recipe Model - Part 2
40:29
Building the Recipe View - Part 1
13:57
Building the Recipe View - Part 2
18:54
Updating Recipe Servings
15:21
Building the Shopping List Model
15:22
Building the Shopping List View
06:47
Building the Shopping List Controller
16:15
Building the Likes Model
06:43
Building the Likes Controller
08:39
Building the Likes View
21:35
Implementing Persistent Data with localStorage
13:58
Wrapping up: Final Considerations
07:14
+ Final Course Exam: 30 Questions to Test Your JavaScript Knowledge
1 lecture 01:08
Some Considerations Before You Start
01:08
30 Questions to Test Your JavaScript Knowledge
30 questions
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.
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!

Who this course is for:
  • Take this course if you want to gain a deep understanding of the most popular programming language in the world: JavaScript.
  • Take this course if 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!
  • Take this course if you're interested in using popular libraries/frameworks like React, Angular or Node.
  • Take this course if you want to get started with programming in general: JavaScript is a great language to learn how to code.