JavaScript: The Advanced Concepts

JavaScript: The Advanced Concepts

English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 25h 17m | 6.62 GB

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

What you’ll learn

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

Unlike 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 truly make people see that you are a Senior Javascript Programmer.

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 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
Table of Contents

Introduction
1 How To Succeed In This Course
2 Join Our Online Classroom
3 Exercise Meet The Community
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

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

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

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

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

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

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

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

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

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

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

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

Andrei updates
228 Bonus Lecture

Homepage