JavaScript - The Complete Guide 2020 (Beginner + Advanced)

JavaScript - The Complete Guide 2020 (Beginner + Advanced)

image description

What you will learn

  • JavaScript from scratch - beginner to advanced
  • All core features and concepts you need to know in modern JavaScript development
  • Everything you need to become a JavaScript expert and apply for JavaScript jobs
  • Project-driven learning with plenty of examples
  • All about variables, functions, objects and arrays
  • Object-oriented programming
  • Deep dives into prototypes, JavaScript engines & how it works behind the scenes
  • Manipulating web pages (= the DOM) with JavaScript
  • Event handling, asynchronous coding and Http requests
  • Meta-programming, performance optimization, memory leak busting
  • Testing, security and deployment
  • And so much more!


Section 1: Introduction

Section 2: Basics: Variables, Data Types, Operators & Functions

Section 3: Efficient Development & Debugging

Section 4: Working with Control Structures (if Statements, Loops, Error Handling)

Section 5: Behind the Scenes & The (Weird) Past (ES3, ES5) & Present (ES6+) of JavaScript

Section 6: More on Functions

Section 7: Working with the DOM (Browser HTML Code) in JavaScript

Section 8: More on Arrays & Iterables

Section 9: More on Objects

Section 10: Classes & Object-oriented Programming (OOP)

Section 11: Deep Dive: Constructor Functions & Prototypes

Section 12: Practice: OOP & Classes

Section 13: Back to the DOM & More Browser APIs

Section 14: Working with Events

Section 15: Advanced Function Concepts

Section 16: More on Numbers & Strings

Section 17: Async JavaScript: Promises & Callbacks

Section 18: Working with Http Requests

Section 19: Working with JavaScript Libraries

Section 20: Modular JavaScript (Working with Modules)

Section 21: JavaScript Tooling & Workflows

Section 22: Utilizing Browser Storage

Section 23: JavaScript & Browser Support

Section 24: Time to Practice: Share My Place App

Section 25: Working with JavaScript Frameworks

Section 26: Meta-Programming: Symbols, Iterators, Generators, Reflect API & Proxy API

Section 27: Node.js: An Introduction

Section 28: Security

Section 29: Deploying JavaScript Code

Section 30: Performance & Optimizations

Section 31: Introduction to Testing

Section 32: Bonus: Programming Paradigms (Procedural vs Object Oriented vs Functional)

Section 33: Bonus: Data Structures & Algorithms Introduction

Section 34: Bonus: TypeScript Introduction

Section 35: Bonus: Web Components

Section 36: Roundup & Next Steps

Course Description

Modern JavaScript from the beginning - all the way up to JS expert level! THE must-have JavaScript resource in 2020.


  • NO prior JavaScript knowledge is required
  • Basic web development knowledge is recommended
  • Basic understanding of HTML and CSS helps but is NOT required


JavaScript is THE most important programming language you need to learn as a web developer - and with this course, you make sure that you will not miss a single thing you have to know as a JavaScript developer!

This is the most comprehensive and modern course you can find on JavaScript - it's based on all my JavaScript knowledge AND teaching experience. It's both a complete guide, starting with the core basics of the language, as well as an extensive reference of the JavaScript language and environment, ensuring that both newcomers as well as experienced JavaScript developers get a lot out of this course!

It's a huge course because it's packed with important knowledge and helpful content. From the core basics, over advanced concepts and JavaScript specialties, all the way up to expert topics like performance optimization and testing - this course has it all. My goal was to create your go-to resource for the JavaScript language, which you can not just use for learning it but also as a resource you can come back to and look up important topics.

The course is based on my experience as a long-term JavaScript developer as well as a teacher with more than 1,000,000 students on Udemy as well as on my YouTube channel Academind. It's packed with examples, demos, projects, assignments, quizzes and of course videos - all with the goal of giving you the best possible way of learning JavaScript.

What's in the course?

This course is obviously packed with content - I therefore strongly recommend that you check out the full course curriculum to get a clear idea of all the topics covered in the course. In general, here's what you'll find in the course:

  • Modern JavaScript from the start: The JavaScript syntax changed over time - in this course, you'll learn the latest syntax from the start (you'll also learn about the old one though, so that you can work in ANY JS project)
  • ALL the Basics: Variables, constants, functions, how scripts are loaded etc
  • Arrays & Objects: We'll explore these very important data structures in great detail
  • Control Structures: Understand how to run code conditionally and in loops
  • A look behind the Scenes: How JavaScript engines work behind the scenes and what that means for us
  • Deep dives into Core Concepts: ALL the special things about JavaScript function, different syntaxes
  • Working with the DOM: How to manipulate web pages dynamically via JavaScript (including deep dives and different use-cases)
  • Events in JavaScript: Learn how to listen to a broad variety of events (e.g. drag & drop) and execute appropriate code
  • Classes & Object-oriented Programming: Learn how to work with classes, prototypes, the "this" keyword, constructor functions and much more
  • Asynchronous and Synchronous Programming: We'll explore callbacks, promises, async/ await and other important tools and language features to execute code correctly
  • Http Requests: Learn how to send Http requests via JavaScript
  • Tooling, Optimizations & Browser Support: Code splitting, producing small code and ensuring that scripts work in all browsers - this matters and hence is covered in great detail
  • Libraries & Frameworks: Learn about libraries like Axios or frameworks like React.js - why they matter and how to use them
  • Node.js: Whilst focusing on the browser-side for the majority of the course (because the syntax is the same), we'll also have a dedicated section on Node.js to learn all about that JS host environment
  • Security & Performance Optimizations: Of course security matters, so does performance - no surprise that both is covered in the course!
  • Automated Testing: Testing manually is hard work and can be unreliable - in this course you'll also get an introduction into automated testing

What are the course prerequisites?

  • NO JavaScript knowledge is required - you'll learn it from scratch!
  • You also need NO programming experience other than basic web development knowledge (e.g. how the web works)
  • Basic HTML and CSS knowledge is recommended but not a must-have

Who this course is for:

  • Beginner web development students who have no or only little JavaScript experience
  • Also developers who know the basics about JavaScript and want to deepen their knowledge
  • Advanced JavaScript developers who want to learn more about the nitty-gritty details and dive into advanced concepts
  • Everyone interested in learning JavaScript and all about how it works