JavaScript: The Advanced Concepts

25h 9m 23s
English
Paid
May 18, 2023

After many years of working with the language, Andrei has taken decades of experience, combining best practices from some of the top developers in the world, to get you to become one of the top performing Javascript developers. You will go 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. You will be in the top 10% of JavaScript Programmers by the end of this course.

More
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
  • Closures
  • Asynchronous JavaScript + Event Loop
  • JavaScript Modules
  • `this` keyword
  • JavaScript Engine and Runtime
  • Error Handling
  • Stack Overflow
  • Memory Leaks
  • Composition vs Inheritance
  • Type Coersion
  • Pass By Reference vs Pass by Value
  • Higher Order Functions
  • IIFE
  • .call(), .apply(), .bind()
  • Interpreter/ Compiler/ JIT Compiler
  • Garbage Collection
  • Hoisting
  • JavaScript best practices

Recently updated with ES10 for 2020! This course is unlike any JavaScript course you will find online. Join a live online community of over 200,000+ developers and a course taught by an industry expert that has actually worked both in Silicon Valley and Toronto as a senior developer. Graduates of this course are now working at Google, Tesla, Amazon, Apple, IBM, JP Morgan, Facebook + other top tech companies.

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 will teach you everything you need to know to be considered a Senior Javascript Developer.

Instead of spending years learning advanced Javascript concepts, you can fast track and get the knowledge that senior javascript developers have in just 30 days.

With this course you are going to learn beyond just the basics like most online courses. 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 truly make people see that you are a senior javascript programmer.

Most importantly, you will become a top 10% javascript developer by going beyond the superficial basics that a lot of courses cover. We are going to dive deep and come out the other end a confident advanced javascript developer. I guarantee it. Whether you are a web developer, a React, Angular, Vue.js developer (frontend developer), or a Node.js backend developer, you will benefit from this course because Javascript is at the core of these professions.

Some of the topics covered in this course are:

  • 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 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

  • Higher Order Functions

  • 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

Who this course is for:

  • Developers who want to be considered in the top 10% of JavaScript programmers
  • Bootcamp or online tutorial graduates that want to go beyond the basics
  • Junior JavaScript Developers
  • Junior Web Developers
  • Programmers who don't want to waste time on basics and want to dive deep

Watch Online JavaScript: The Advanced Concepts

Join premium to watch
Go to premium
# Title Duration
1 How To Succeed In This Course 05:38
2 Section Overview 02:28
3 Javascript Engine 05:29
4 Exercise: Javascript Engine 00:57
5 Inside the Engine 04:06
6 Exercise: JS Engine For All 02:34
7 Interpreters and Compilers 06:22
8 Inside the V8 Engine 08:57
9 Comparing Other Languages 04:16
10 Writing Optimized Code 08:54
11 WebAssembly 03:16
12 Call Stack and Memory Heap 14:38
13 Stack Overflow 03:22
14 Garbage Collection 04:31
15 Memory Leaks 06:35
16 Single Threaded 01:59
17 Exercise: Issue With Single Thread 02:41
18 Javascript Runtime 14:08
19 Node.js 06:28
20 Section Review 05:03
21 Section Overview 01:07
22 Execution Context 08:36
23 Lexical Environment 05:40
24 Hoisting 10:48
25 Exercise: Hoisting 03:59
26 Exercise: Hoisting 2 07:07
27 Function Invocation 07:01
28 arguments Keyword 04:23
29 Variable Environment 06:42
30 Scope Chain 12:21
31 [[scope]] 02:04
32 Exercise: JS is Weird 04:59
33 Function Scope vs Block Scope 03:36
34 Exercise: Block Scope 03:46
35 Global Variables 04:11
36 IIFE 13:39
37 this Keyword 17:00
38 Exercise: Dynamic Scope vs Lexical Scope 12:09
39 call(), apply(), bind() 11:18
40 bind() and currying 03:43
41 Exercise: this Keyword 03:10
42 Context vs Scope 01:09
43 Section Review 02:48
44 Section Overview 01:23
45 Javascript Types 13:41
46 Array.isArray() 02:18
47 Pass By Value vs Pass By Reference 17:07
48 Type Coercion 09:03
49 JTS: Dynamic vs Static Typing 11:51
50 JTS: Weakly vs Strongly Typed 03:19
51 JTS: Static Typing In JavaScript 09:46
52 Section Overview 01:55
53 Functions are Objects 09:19
54 First Class Citizens 04:05
55 Extra Bits: Functions 03:26
56 Higher Order Functions 17:15
57 Exercise: Higher Order Functions 03:46
58 Closures 15:12
59 Exercise: Closures 03:19
60 Closures and Memory 07:53
61 Closures and Encapsulation 07:42
62 Exercise: Closures 2 01:32
63 Solution: Closures 2 02:35
64 Exercise: Closures 3 01:29
65 Solution: Closures 3 03:48
66 Closures Review 01:35
67 Prototypal Inheritance 06:48
68 Prototypal Inheritance 2 09:08
69 Prototypal Inheritance 3 07:47
70 Prototypal Inheritance 4 10:36
71 Prototypal Inheritance 5 02:44
72 Prototypal Inheritance 6 09:17
73 Exercise: Prototypal Inheritance 02:57
74 Solution: Prototypal Inheritance 08:22
75 Section Review 03:58
76 Section Overview 06:25
77 OOP and FP 03:51
78 OOP Introduction 03:22
79 OOP1: Factory Functions 08:21
80 OOP2: Object.create() 07:39
81 OOP3: Constructor Functions 13:02
82 More Constructor Functions 08:39
83 Funny Thing About JS... 02:53
84 OOP4: ES6 Classes 08:45
85 Object.create() vs Class 01:49
86 this - 4 Ways 04:45
87 Inheritance 14:42
88 Inheritance 2 05:26
89 Public vs Private 04:22
90 OOP in React.js 03:06
91 4 Pillars of OOP 08:18
92 Reviewing OOP 02:07
93 Section Overview 02:30
94 Functional Programming Introduction 03:32
95 Exercise: Amazon 03:38
96 Pure Functions 04:36
97 Pure Functions 2 07:48
98 Can Everything Be Pure? 04:34
99 Idempotent 04:09
100 Imperative vs Declarative 06:29
101 Immutability 05:29
102 Higher Order Functions and Closures 07:50
103 Currying 04:25
104 Partial Application 04:25
105 MCI: Memoization 1 07:48
106 MCI: Memoization 2 03:57
107 Compose and Pipe 12:34
108 Arity 01:47
109 Is FP The Answer To Everything? 02:55
110 Solution: Amazon 21:49
111 Reviewing FP 05:15
112 Composition vs Inheritance 16:21
113 OOP vs FP 04:30
114 OOP vs FP 2 05:20
115 Section Overview 04:52
116 How JavaScript Works 24:13
117 Promises 22:27
118 ES8 - Async Await 15:23
119 ES9 (ES2018) 05:22
120 ES9 (ES2018) - Async 11:12
121 Job Queue 06:56
122 Parallel, Sequence and Race 10:01
123 ES2020: allSettled() 04:23
124 Threads, Concurrency and Parallelism 11:28
125 Section Overview 02:45
126 What Is A Module? 11:06
127 Module Pattern 13:07
128 Module Pattern Pros and Cons 04:54
129 CommonJS, AMD, UMD 10:06
130 ES6 Modules 08:54
131 Section Review 02:15
132 Section Overview 01:08
133 Errors In JavaScript 08:53
134 Try Catch 09:54
135 Async Error Handling 12:57
136 Async Error Handling 2 03:31
137 Extending Errors 05:09
138 Section Review 01:19
139 Thank You 00:40
140 Section Overview 01:59
141 What Is A Data Structure? 05:54
142 How Computers Store Data 12:35
143 Data Structures In Different Languages 03:29
144 Operations On Data Structures 03:06
145 Array Introduction 13:52
146 Static vs Dynamic Arrays 06:41
147 Implementing An Array 17:20
148 Strings and Arrays 01:05
149 Exercise: Reverse A String 01:36
150 Solution Reverse A String 10:32
151 Exercise: Merge Sorted Arrays 00:45
152 Solution: Merge Sorted Arrays 14:13
153 Arrays Review 03:29
154 Hash Tables Introduction 04:11
155 Hash Function 05:57
156 Hash Collisions 09:44
157 Hash Tables In Different Languages 03:31
158 Exercise: Implement A Hash Table 03:52
159 Solution: Implement A Hash Table 17:26
160 keys() 06:12
161 Hash Tables vs Arrays 02:02
162 Exercise: First Recurring Character 01:19
163 Solution: First Recurring Character 16:12
164 Hash Tables Review 06:10
165 What is JavaScript? 05:34
166 Your First JavaScript 11:42
167 Variables 15:10
168 Control Flow 16:37
169 JavaScript On Our Webpage 09:06
170 Functions 23:54
171 Data Structures: Arrays 13:07
172 Data Structures: Objects 15:26
173 Exercise: Build Facebook 11:17
174 JavaScript Terminology 03:44
175 Loops 22:23
176 Exercise: Build Facebook 2 08:04
177 JavaScript Keywords 03:03
178 Scope 10:27
179 Advanced Control Flow 11:43
180 ES5 and ES6 26:42
181 Advanced Functions 20:05
182 Advanced Arrays 16:41
183 Advanced Objects 24:53
184 ES7 03:07
185 ES8 09:20
186 ES10 (ES2019) 16:50
187 Advanced Loops 12:05
188 ES2020 Part 1 10:08
189 ES2020 Part 2 03:30
190 ES2020 Part 3 04:12
191 ES2020: globalThis 03:15
192 ES2021 03:09
193 Debugging 08:24
194 Modules 13:20
195 AMA - 100,000 Students!! 38:31

Similar courses to JavaScript: The Advanced Concepts

CS50's Web Programming with Python and JavaScript

CS50's Web Programming with Python and JavaScript

Duration 14 hours 3 minutes 25 seconds
Object-oriented Programming in JavaScript

Object-oriented Programming in JavaScript

Duration 3 hours 53 minutes 46 seconds
Build Fullstack Trello clone: WebSocket, Socket IO

Build Fullstack Trello clone: WebSocket, Socket IO

Duration 8 hours 49 minutes 48 seconds
JavaScript: Understanding the Weird Parts

JavaScript: Understanding the Weird Parts

Duration 12 hours 10 minutes 48 seconds
JavaScript Algorithms and Data Structures Masterclass

JavaScript Algorithms and Data Structures Masterclass

Duration 21 hours 47 minutes 46 seconds