Back to courses

JavaScript: The Advanced Concepts

Learn modern, advanced JavaScript concepts and practices to be in the top 10% JavaScript Developers this year. This Advanced JavaScript course is even used as reference material to study for some FAANG company interview processes.

instructor

Taught by: Andrei Neagoie

Last updated: March 2023

Course overview

Updated for 2023! This course is unlike any JavaScript course you will find online. After many years of working with JavaScript on a daily basis, Andrei has now combined best practices from his own experience and decades of experience from some of the top developers in the world, to create a course that turns you into a top performing JavaScript Developer.

What you'll learn

  • Advanced JavaScript Practices
  • Object Oriented Programming & Functional Programming
  • Scope and Execution Context
  • Inheritance + Prototype Chain
  • Latest features: ES6, ES7, ES8, ES9, ES10, ES2020, ES2021, ES2022
  • Closures
  • Asynchronous JavaScript + Event Loop
  • JavaScript Modules
  • JavaScript Engine and Runtime
  • `this` keyword
  • Stack Overflow
  • Error Handling
  • Composition vs Inheritance
  • Memory Leaks
  • Pass By Reference vs Pass by Value
  • Type Coersion
  • IIFE, Higher Order Functions
  • Interpreter/ Compiler/ JIT Compiler
  • .call(), .apply(), .bind()
  • Hoisting
  • Garbage Collection
  • JavaScript best practices

This Advanced JavaScript course by Andrei Neagoie will take you from understanding the basics of JavaScript, to learning it to the point that you can teach it to others, impress coworkers, and wow future employers.

Which must be the reason that it's even being used as reference material by some FAANG companies as recommended content to use to study for their interview processes.

And the results speak for themselves.

Graduates of Zero To Mastery are now working at Google, Tesla, Amazon, Apple, IBM, Uber, Facebook, Shopify + other top tech companies.

They are also working as top freelancers getting paid while working remotely around the world.

This can be you.

By enrolling today, you’ll also get to join our exclusive live online community classroom to learn alongside thousands of students, alumni, mentors, TAs and Instructors.

Active. Thriving. Supportive. Helpful. Friendly. Motivating. Essential.

These are just a few of the words students use to describe the ZTM Discord which is also one of the biggest and most active developer communities on Discord.

Most importantly, you will advanced JavaScript concepts and best practices from an industry expert that has actual real-world experience working for top companies in both Silicon Valley and Toronto.

This course is the accumulation of years in the field and combining the best resources, tools, and tutorials out there to create the ultimate JavaScript course that teaches you everything you need to know to be considered a Senior Javascript Developer.

Instead of spending years learning these advanced JavaScript topics, you can fast track and get the knowledge that Senior Javascript Developers have in just 30 days.

Unlike most other online courses, you are going to learn beyond the basics. You won't just learn patterns, techniques and best practices.

You are going to understand the "why" of the toughest part of the language, to the point that when you get asked any question about JavaScript in an interview or in a meeting, you will be able to explain concepts that would make people see that you are a Senior Javascript Programmer.

You are going to dive deep into JavaScript and I'm going to make sure you come out the other side as a confident, advanced JavaScript Developer. I guarantee it.

Whether you are a Web Developer, Frontend Developer (using something like React, Angular, Vue.js), or a Backend Developer using Node.js, you will benefit from this course because JavaScript is at the core of all of these professions.

The topics you'll learn in this Advanced JavaScript course:

  • Javascript Engine
  • Javascript Runtime
  • Interpreter, Compiler, JIT Compiler
  • Writing Optimized Code
  • Call Stack + Memory Heap
  • Stack Overflow + Memory Leaks
  • Garbage Collection
  • Node.js
  • ES6, ES7, ES8, ES9, ES10, ES2020, ES2021, ES2022 features
  • Single Threaded Model
  • Execution Context
  • Lexical Environment
  • Scope Chain
  • Hoisting
  • Function Invocation
  • Function Scope vs Block Scope
  • Dynamic vs Lexical Scope
  • this: call(), apply(), bind()
  • IIFEs
  • Context vs Scope
  • Static vs Dynamically Typed
  • Primitive Types
  • Pass by Reference vs Pass by Value
  • Type Coercion
  • Arrays, Functions, Objects
  • Closures
  • Prototypal Inheritance
  • Class Inheritance
  • Memoization
  • Functions vs Objects
  • Scheme + Java in JavaScript
  • OOP (Object Oriented Programming)
  • Private vs Public Properties
  • Functional Programming
  • Immutability
  • Imperative vs Declarative code
  • Composition vs Inheritance
  • Currying
  • Partial Application
  • Pure Functions
  • Referential Transparency
  • Compose
  • Pipe
  • Error Handling
  • Asynchronous JavaScript
  • Callbacks, Promises, Async/Await
  • Event Loop + Callback Queue
  • Task Queue + Microtask Queue
  • Concurrency + Parallelism
  • Modules in Javascript

What's the bottom line?

Having a deep understanding of these core JavaScript concepts is key to taking your career as a Developer to the next level.

They are timeless topics that will also allow you to stay current with any new library or framework that comes out in the JavaScript ecosystem.

I guarantee that you won't find a course as detailed and as well explained as this one. And by the end of the course, you will be in the top 10% of JavaScript Developers 💪.

When's the best time to get started? Today!

There's never a bad time to learn in-demand skills. But the sooner, the better. So take your first step to becoming a Senior JavaScript Developer by joining the ZTM Academy. You'll have a clear roadmap to developing the skills to build your own projects, get hired, and advance your career.

Start learning now
Expand Overview

Don't just take our word for it

Our courses and community have helped 1,000s of Zero To Mastery students go from zero to getting hired to levelling up their skills and advancing their careers to new heights.

Sergey Sharonov

Very good coverage of intermediate and advanced JS topics, including latest ES standards, with lots of bonus material and exercises. I liked the way Andrei writes codes live, make small mistakes and fixes them on the fly explaining any tricky parts.

Sergey Sharonov

Ludolf Pretorius

Andrei breaks down concepts in such a way that it's easy for anyone to understand. The content is very thorough and includes topics that I have struggled to find good documentation on. I feel confident in my level as a developer because of this course.

Ludolf Pretorius

Mark Anthony Servanda

I've never been so motivated to learn more about JavaScript and web development in general since I started this course. I've been coding for years and missing some important concepts and best practices which this course helped me to internalize.

Mark Anthony Servanda

James Whitney

This course is fantastic and has definitely made me a better and more confident JavaScript developer. Andrei is a great instructor and I would recommend this course to anyone looking to gain a deeper understanding the language.

James Whitney

This course was so great. Thanks to this course, I got a job! I also got a better understanding of Javascript and much more. I really thank you Andrei, you made me a wiser and more confident developer.

Eduardo Baños

I took this after Andrei's Complete Web Developer. This course made me such a better developer, who understands programming and JavaScript concepts so much better. I'm glad I took this course. The job offers are already starting to arrive :)

Shakked Brand

Course curriculum

To make sure this course is a good fit for you, you can start learning advanced JavaScript concepts for free right now by clicking any of the PREVIEW links below.

Introduction

4 lectures

Advanced JavaScript Concepts3:55

PREVIEW

How To Succeed In This Course5:37

PREVIEW

Exercise: Meet Your Classmates and Instructor

START

How-to's: Speed up videos, Downloading videos, Subtitles

PREVIEW

JavaScript Foundation

25 lectures

Section Overview2:27

PREVIEW

Javascript Engine5:28

PREVIEW

Exercise: Javascript Engine0:56

PREVIEW

Inside The Engine4:05

PREVIEW

Exercise: JS Engine For All2:33

PREVIEW

Interpreters and Compilers6:21

PREVIEW

Babel + TypeScript

PREVIEW

Inside the V8 Engine8:56

PREVIEW

Comparing Other Languages4:15

PREVIEW

Writing Optimized Code8:53

PREVIEW

WebAssembly3:15

PREVIEW

Call Stack and Memory Heap14:37

PREVIEW

Stack Overflow3:21

PREVIEW

Garbage Collection4:30

PREVIEW

Memory Leaks6:34

PREVIEW

Single Threaded1:58

PREVIEW

Exercise: Issue With Single Thread2:40

PREVIEW

Javascript Runtime14:07

PREVIEW

Node.js6:27

START

Exercise: Fix This Code

START

Section Review5:02

START

Web Developer Monthly

START

Advanced JavaScript Cheatsheet

START

Endorsements On LinkedIn

START

Unlimited Updates

START

Javascript Foundation II

26 lectures

Section Overview1:06

START

Execution Context8:35

START

Lexical Environment5:39

START

Hoisting10:47

START

Exercise: Hoisting3:58

START

Exercise: Hoisting 27:06

START

Exercise: Hoisting 3

START

Function Invocation6:59

START

arguments Keyword4:22

START

Variable Environment6:41

START

Scope Chain12:20

START

[[scope]]2:03

START

Exercise: JS is Weird4:57

START

Function Scope vs Block Scope3:35

START

Exercise: Block Scope3:45

START

Global Variables4:10

START

IIFE13:38

START

this Keyword16:59

START

Exercise: Dynamic Scope vs Lexical Scope12:08

START

call(), apply(), bind()11:17

START

Exercise: call(), apply()

START

bind() and currying3:42

START

Exercise: this Keyword3:09

START

Exercise: this Keyword 2

START

Context vs Scope1:08

START

Section Review2:47

START

Types in JavaScript

12 lectures

Section Overview1:22

START

Javascript Types13:40

START

Array.isArray()2:17

START

Pass By Value vs Pass By Reference17:06

START

Exercise: Compare Objects

START

Exercise: Pass By Reference

START

Type Coercion9:02

START

Exercise: Type Coercion

START

Quick Note: Upcoming Videos

START

JTS: Dynamic vs Static Typing11:50

START

JTS: Weakly vs Strongly Typed3:18

START

JTS: Static Typing In JavaScript9:45

START

The 2 Pillars: Closures and Prototypal Inheritance

26 lectures

Section Overview1:54

START

Functions Are Objects9:18

START

First Class Citizens4:04

START

Extra Bits: Functions3:25

START

Higher Order Functions17:14

START

Exercise: Higher Order Functions3:45

START

Closures15:10

START

Exercise: Closures3:18

START

Closures and Memory7:52

START

Closures and Encapsulation7:41

START

Exercise: Closures 21:31

START

Solution: Closures 22:34

START

Exercise: Closures 31:28

START

Solution: Closures 33:47

START

Closures Review1:34

START

Prototypal Inheritance6:47

START

Prototypal Inheritance 29:07

START

Prototypal Inheritance 37:46

START

Prototypal Inheritance 410:35

START

Prototypal Inheritance 52:43

START

Prototypal Inheritance 69:16

START

Exercise: Prototypal Inheritance2:55

START

Solution: Prototypal Inheritance8:20

START

Exercise: Prototypal Inheritance with this

START

Exercise: Imposter Syndrome2:55

START

Section Review3:57

START

Object Oriented Programming

19 lectures

Section Overview6:24

START

OOP and FP3:50

START

OOP Introduction3:21

START

OOP1: Factory Functions8:20

START

OOP2: Object.create()7:38

START

OOP3: Constructor Functions13:00

START

More Constructor Functions8:38

START

Funny Thing About JS...2:52

START

OOP4: ES6 Classes8:44

START

Object.create() vs Class1:48

START

this - 4 Ways4:44

START

Inheritance14:41

START

Inheritance 25:25

START

ES2022: Private Class Fields + Methods

START

Public vs Private4:21

START

OOP in React.js3:05

START

4 pillars of OOP8:17

START

Exercise: OOP and Polymorphism

START

Reviewing OOP2:06

START

Functional Programming

20 lectures

Section Overview2:29

START

Functional Programming Introduction3:31

START

Exercise: Amazon3:37

START

Pure Functions4:35

START

Pure Functions 27:47

START

Can Everything Be Pure?4:33

START

Idempotent4:08

START

Imperative vs Declarative6:27

START

Immutability5:28

START

Higher Order Functions and Closures7:49

START

Currying4:24

START

Partial Application4:24

START

Quick Note: Upcoming Videos

START

MCI: Memoization 17:47

START

MCI: Memoization 23:56

START

Compose and Pipe12:33

START

Arity1:46

START

Is FP The Answer To Everything?2:54

START

Solution: Amazon21:48

START

Reviewing FP5:14

START

OOP vs FP

3 lectures

Composition vs Inheritance16:20

START

OOP vs FP4:29

START

OOP vs FP 25:19

START

Asynchronous JavaScript

12 lectures

Section Overview4:51

START

Quick Note: Upcoming Videos

START

How JavaScript Works24:12

START

Promises22:26

START

ES8 - Async Await15:22

START

ES9 (ES2018)5:21

START

ES9 (ES2018) - Async11:11

START

Job Queue6:55

START

Parallel, Sequence, Race10:00

START

ES2020: allSettled()4:22

START

ES2021: any()

START

Threads, Concurrency and Parallelism11:27

START

Modules in JavaScript

10 lectures

Section Overview2:44

START

What Is A Module?11:05

START

Module Pattern13:05

START

Module Pattern Pros and Cons4:53

START

CommonJS, AMD, UMD10:05

START

ES6 Modules8:52

START

Optional: ES2022 Top Level Await3:46

START

Optional: ES2022 Exercise

START

Optional: ES2022 Await Import5:05

START

Section Review2:14

START

Error Handling

8 lectures

Section Overview1:07

START

Errors In JavaScript8:52

START

Try Catch9:53

START

Async Error Handling12:56

START

Async Error Handling 23:30

START

Exercise: Error Handling

START

Extending Errors5:08

START

Section Review1:18

START

Thank You

8 lectures

Learning Guideline

START

Endorsements On LinkedIn

START

Become an Alumni

START

Coding Challenges

START

Thank You0:39

START

Review This Course!

START

Bonus Materials

START

Become a ZTM Ambassador ➡ Refer new students. Earn cash.

START

Bonus: Data Structures In JavaScript

26 lectures

Quick Note: Upcoming Videos

START

Section Overview1:58

START

What Is A Data Structure?5:53

START

How Computers Store Data12:33

START

Data Structures In Different Languages3:27

START

Operations On Data Structures3:05

START

Array Introduction13:51

START

Static vs Dynamic Arrays6:40

START

Implementing An Array17:19

START

Strings and Arrays1:04

START

Exercise: Reverse A String1:35

START

Solution Reverse A String10:31

START

Exercise: Merge Sorted Arrays0:44

START

Solution: Merge Sorted Arrays14:12

START

Arrays Review3:28

START

Hash Tables Introduction4:10

START

Hash Function5:56

START

Hash Collisions9:43

START

Hash Tables in Different Languages3:30

START

Exercise: Implement A Hash Table3:51

START

Solution: Implement A Hash Table17:24

START

keys()6:11

START

Hash Tables vs Arrays2:01

START

Exercise: First Recurring Character1:18

START

Solution: First Recurring Character16:11

START

Hash Tables Review6:09

START

Appendix I: Javascript Basics

14 lectures

Quick Note: Upcoming Videos

START

What is JavaScript?5:33

START

Your First JavaScript11:41

START

Variables15:09

START

Control Flow16:36

START

JavaScript On Our Webpage9:05

START

Functions23:53

START

Data Structures: Arrays13:06

START

Data Structures: Objects15:25

START

Exercise: Build Facebook11:16

START

JavaScript Terminology3:43

START

Loops22:22

START

Exercise: Build Facebook 28:02

START

JavaScript Keywords3:02

START

Appendix II: Intermediate Javascript

20 lectures

Quick Note: Upcoming Videos

START

Scope10:25

START

Advanced Control Flow11:41

START

ES5 and ES626:41

START

Advanced Functions20:04

START

Advanced Arrays16:40

START

Advanced Objects24:51

START

ES73:06

START

ES89:19

START

Note: ES9 + ES8 Async Await

START

ES10 (ES2019)16:49

START

Advanced Loops12:04

START

ES2020 Part 110:07

START

ES2020 Part 23:29

START

ES2020 Part 34:10

START

ES2020: globalThis3:14

START

ES20213:08

START

ES20223:25

START

Debugging8:23

START

Modules13:19

START

Bonus: Extra Bits

2 lectures

Notes To Review The Course

START

AMA - 100,000 Students!!38:30

START

Meet your instructor

Your JavaScript instructor (Andrei) isn't just an expert with years of real-world professional experience. He has been in your shoes. He makes learning fun. He makes complex topics feel simple. He will motivate you. He will push you. And he will go above and beyond to help you succeed.

Andrei Neagoie

Hi, I'm Andrei Neagoie!

Andrei, lead instructor of Zero To Mastery Academy, has taught 1,000,000+ students worldwide how to code and get hired. ZTM grads work for world-class companies like Apple, Google, Amazon, Tesla, IBM, Facebook, Shopify and many more.

SEE MY BIO & COURSES

Andrei Neagoie

Senior Software Developer

Frequently asked questions

Are there any prerequisites for this course?

  • Basic understanding of JavaScript. Don't know JavaScript? No problem, you'll also get access to Andrei's Coding Bootcamp which will teach you everything you need to know to get up to speed
  • A computer (Linux/Windows/Mac) with an internet connection

Who is this course for?

  • Developers who want to be considered in the top 10% of JavaScript programmers
  • Junior Web Developers and JavaScript Developers that want to boost their skills and confidence by learning intermediate and advanced JavaScript concepts
  • Programmers and Bootcamp graduates who don't want to waste time on the basics found in a majority of the coding tutorials and courses out there
  • You want to learn Advanced JavaScript from a Senior Developer that has real-world experience working in the industry

Do you provide a certificate of completion?

We definitely do and they are quite nice. You will also be able to add Zero To Mastery Academy to the education section of your LinkedIn profile as well.

Can I download the videos?

Definitely. You can download any and all lessons for personal use. We do everything we can to make learning easy, fun and accessible. Whether that’s on your commute, on a flight or just when you have limited access to good WiFi.

Still have more questions about the Academy?

Still have more questions specific to the Academy membership? No problem, we answer some more here.

Take the next step and invest in a better you

Choose your currency:
$ USD US Dollar
Monthly
100% OFF$39 / month
$39 / month
You're ready to upskill and advance your career
Start Learning Now
Save 40% vs. monthly (that's $189 a year)
Annual
100% OFF$279 / year
$279 / year
$23 / month
You're committed to getting hired and starting a career in tech
Start Learning Now
Lifetime
100% OFF$999
$999
Only pay once, ever
You're serious about advancing your career and never getting left behind
Start Learning Now

Every ZTM membership includes:

Unlimited access to all courses, workshops, and career paths
Invite to private Discord with 400,000+ members
Access to private Linkedin networking group
Custom ZTM course completion certificates
Download all lessons for offline learning
Unlimited, priority access to all future courses, content, and features
100% RISK FREE

We know you'll love ZTM. That's why we provide a no hassle, 30-day money back guarantee.