JavaScript: The Advanced Concepts (2023 Update)

JavaScript: The Advanced Concepts (2023 Update)

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 229 lectures (25h 23m) | 6.80 GB

Learn modern advanced JavaScript practices and be in the top 10% of JavaScript developers

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

The topics you will learn in this course are timeless and will allow you to stay current with any new library or framework that comes out in the javascript ecosystem since you will have the core concepts understood.

Table of Contents

Introduction
1 How To Succeed In This Course
2 Join Our Online Classroom!
3 Exercise Meet Your Classmates and Instructor
4 Monthly Coding Challenges, Free Resources and Guides

JavaScript Foundation
5 Section Overview
6 Javascript Engine
7 Exercise Javascript Engine
8 Inside the Engine
9 Exercise JS Engine For All
10 Interpreters and Compilers
11 Babel + TypeScript
12 Inside the V8 Engine
13 Comparing Other Languages
14 Writing Optimized Code
15 WebAssembly
16 Call Stack and Memory Heap
17 Stack Overflow
18 Garbage Collection
19 Memory Leaks
20 Single Threaded
21 Exercise Issue With Single Thread
22 Javascript Runtime
23 Node.js
24 Exercise Fix This Code
25 Section Review
26 Web Developer Monthly
27 Advanced JavaScript Cheatsheet
28 Endorsements On LinkedIN

Javascript Foundation II
29 Section Overview
30 Execution Context
31 Lexical Environment
32 Hoisting
33 Exercise Hoisting
34 Exercise Hoisting 2
35 Exercise Hoisting 3
36 Function Invocation
37 arguments Keyword
38 Variable Environment
39 Scope Chain
40 [[scope]]
41 Exercise JS is Weird
42 Function Scope vs Block Scope
43 Exercise Block Scope
44 Global Variables
45 IIFE
46 this Keyword
47 Exercise Dynamic Scope vs Lexical Scope
48 call(), apply(), bind()
49 Exercise call(), apply()
50 bind() and currying
51 Exercise this Keyword
52 Exercise this Keyword 2
53 Context vs Scope
54 Section Review

Types in JavaScript
55 Section Overview
56 Javascript Types
57 Array.isArray()
58 Pass By Value vs Pass By Reference
59 Exercise Compare Objects
60 Exercise Pass By Reference
61 Type Coercion
62 Exercise Type Coercion
63 Quick Note Upcoming Videos
64 JTS Dynamic vs Static Typing
65 JTS Weakly vs Strongly Typed
66 JTS Static Typing In JavaScript

The 2 Pillars Closures and Prototypal Inheritance
67 Section Overview
68 Functions are Objects
69 First Class Citizens
70 Extra Bits Functions
71 Higher Order Functions
72 Exercise Higher Order Functions
73 Closures
74 Exercise Closures
75 Closures and Memory
76 Closures and Encapsulation
77 Exercise Closures 2
78 Solution Closures 2
79 Exercise Closures 3
80 Solution Closures 3
81 Closures Review
82 Prototypal Inheritance
83 Prototypal Inheritance 2
84 Prototypal Inheritance 3
85 Prototypal Inheritance 4
86 Prototypal Inheritance 5
87 Prototypal Inheritance 6
88 Exercise Prototypal Inheritance
89 Solution Prototypal Inheritance
90 Exercise Prototypal Inheritance with this
91 Section Review
92 Exercise Imposter Syndrome

Object Oriented Programming
93 Section Overview
94 OOP and FP
95 OOP Introduction
96 OOP1 Factory Functions
97 OOP2 Object.create()
98 OOP3 Constructor Functions
99 More Constructor Functions
100 Funny Thing About JS
101 OOP4 ES6 Classes
102 Object.create() vs Class
103 this – 4 Ways
104 Inheritance
105 Inheritance 2
106 ES2020 Private Class Variables
107 Public vs Private
108 OOP in React.js
109 Pillars of OOP
110 Exercise OOP and Polymorphism
111 Reviewing OOP

Functional Programming
112 Section Overview
113 Functional Programming Introduction
114 Exercise Amazon
115 Pure Functions
116 Pure Functions 2
117 Can Everything Be Pure
118 Idempotent
119 Imperative vs Declarative
120 Immutability
121 Higher Order Functions and Closures
122 Currying
123 Partial Application
124 Quick Note Upcoming Videos
125 MCI Memoization 1
126 MCI Memoization 2
127 Compose and Pipe
128 Arity
129 Is FP The Answer To Everything
130 Solution Amazon
131 Reviewing FP

OOP vs FP
132 Composition vs Inheritance
133 OOP vs FP
134 OOP vs FP 2

Asynchronous JavaScript
135 Section Overview
136 Quick Note Upcoming Videos
137 How JavaScript Works
138 Promises
139 ES8 – Async Await
140 ES9 (ES2018)
141 ES9 (ES2018) – Async
142 Job Queue
143 Parallel, Sequence and Race
144 ES2020 allSettled()
145 ES2021 any()
146 Threads, Concurrency and Parallelism

Modules In JavaScript
147 Section Overview
148 What Is A Module
149 Module Pattern
150 Module Pattern Pros and Cons
151 CommonJS, AMD, UMD
152 ES6 Modules
153 Section Review

Error Handling
154 Section Overview
155 Errors In JavaScript
156 Try Catch
157 Async Error Handling
158 Async Error Handling 2
159 Exercise Error Handling
160 Extending Errors
161 Section Review

Thank You
162 Learning Guideline
163 Endorsements On LinkedIN
164 Become an Alumni
165 Coding Challenges
166 Thank You
167 Extra Materials

Extra Data Structures In JavaScript
168 Quick Note Upcoming Videos
169 Section Overview
170 What Is A Data Structure
171 How Computers Store Data
172 Data Structures In Different Languages
173 Operations On Data Structures
174 Array Introduction
175 Static vs Dynamic Arrays
176 Implementing An Array
177 Strings and Arrays
178 Exercise Reverse A String
179 Solution Reverse A String
180 Exercise Merge Sorted Arrays
181 Solution Merge Sorted Arrays
182 Arrays Review
183 Hash Tables Introduction
184 Hash Function
185 Hash Collisions
186 Hash Tables In Different Languages
187 Exercise Implement A Hash Table
188 Solution Implement A Hash Table
189 keys()
190 Hash Tables vs Arrays
191 Exercise First Recurring Character
192 Solution First Recurring Character
193 Hash Tables Review

Appendix I Javascript Basics
194 Quick Note Upcoming Videos
195 What is JavaScript
196 Your First JavaScript
197 Variables
198 Control Flow
199 JavaScript On Our Webpage
200 Functions
201 Data Structures Arrays
202 Data Structures Objects
203 Exercise Build Facebook
204 JavaScript Terminology
205 Loops
206 Exercise Build Facebook 2
207 JavaScript Keywords

Appendix II Intermediate Javascript
208 Quick Note Upcoming Videos
209 Scope
210 Advanced Control Flow
211 ES5 and ES6
212 Advanced Functions
213 Advanced Arrays
214 Advanced Objects
215 ES7
216 ES8
217 Note ES9 + ES8 Async Await
218 ES10 (ES2019)
219 Advanced Loops
220 ES2020 Part 1
221 ES2020 Part 2
222 ES2020 Part 3
223 ES2020 globalThis
224 ES2021
225 Debugging
226 Modules

Extra Bits
227 Notes To Review The Course
228 AMA – 100,000 Students!!

BONUS SECTION
229 Bonus Lecture

Homepage