Advanced JavaScript Concepts

Advanced JavaScript Concepts
Advanced JavaScript Concepts
English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 23.5 Hours | 11.6 GB

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

This course is unlike any JavaScript course you will find online. 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.

By joining this course you will also get free access to one of the largest online communities and classroom for fullstack developers.

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

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 The Community!

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

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

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

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

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

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

OOP vs FP
126 Composition vs Inheritance
127 OOP vs FP
128 OOP vs FP 2

Asynchronous JavaScript
129 Section Overview
130 Threads, Concurrency and Parallelism
131 Quick Note Upcoming Videos
132 How JavaScript Works
133 Promises
134 ES8 – Async Await
135 ES9 (ES2018)
136 ES9 (ES2018) – Async
137 Job Queue
138 Parallel, Sequence and Race

Modules In JavaScript
139 Section Overview
140 What Is A Module
141 Module Pattern
142 Module Pattern Pros and Cons
143 CommonJS, AMD, UMD
144 ES6 Modules
145 Section Review

Error Handling
146 Section Overview
147 Errors In JavaScript
148 Try Catch
149 Async Error Handling
150 Async Error Handling 2
151 Exercise Error Handling
152 Extending Errors
153 Section Review

Thank You
154 Learning Guideline
155 Endorsements On LinkedIN
156 Become an Alumni
157 Thank You
158 Bonus Materials

Bonus Data Structures In JavaScript
159 Quick Note Upcoming Videos
160 Strings and Arrays
161 Exercise Reverse A String
162 Solution Reverse A String
163 Exercise Merge Sorted Arrays
164 Solution Merge Sorted Arrays
165 Arrays Review
166 Hash Tables Introduction
167 Hash Function
168 Hash Collisions
169 Hash Tables In Different Languages
170 Section Overview
171 Exercise Implement A Hash Table
172 Solution Implement A Hash Table
173 keys()
174 Hash Tables vs Arrays
175 Exercise First Recurring Character
176 Solution First Recurring Character
177 Hash Tables Review
178 What Is A Data Structure
179 How Computers Store Data
180 Data Structures In Different Languages
181 Operations On Data Structures
182 Array Introduction
183 Static vs Dynamic Arrays
184 Implementing An Array

Appendix I Javascript Basics
185 Quick Note Upcoming Videos
186 Exercise Build Facebook
187 JavaScript Terminology
188 Loops
189 Exercise Build Facebook 2
190 JavaScript Keywords
191 What is JavaScript
192 Your First JavaScript
193 Variables
194 Control Flow
195 JavaScript On Our Webpage
196 Functions
197 Data Structures Arrays
198 Data Structures Objects

Appendix II Intermediate Javascript
199 Quick Note Upcoming Videos
200 Advanced Loops
201 Debugging
202 Modules
203 Scope
204 Advanced Control Flow
205 ES5 and ES6
206 Advanced Functions
207 Advanced Arrays
208 Advanced Objects
209 ES7
210 ES8

Bonus
211 Coupon Codes