JavaScript: The Advanced Concepts
JavaScript: The Advanced Concepts

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

Created by Andrei Neagoie
Language English

JavaScript: The Advanced Concepts

JavaScript: The Advanced Concepts
JavaScript: The Advanced Concepts

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

Created by Andrei Neagoie
Language English
1. Introduction
  • 1. How To Succeed In This Course 00:05:37
  • 2. Join Our Online Classroom .html
  • 3. Exercise Meet The Community! .html
2. JavaScript Foundation
  • 1. Section Overview 00:02:27
  • 1.1 Course Map .html
  • 2. Javascript Engine 00:05:28
  • 2.1 ECMAScript Engines .html
  • 3. Exercise Javascript Engine 00:00:56
  • 4. Inside the Engine 00:04:05
  • 4.1 AST Explorer .html
  • 5. Exercise JS Engine For All 00:02:33
  • 6. Interpreters and Compilers 00:06:21
  • 7. Babel TypeScript .html
  • 8. Inside the V8 Engine 00:08:56
  • 9. Comparing Other Languages 00:04:15
  • 10. Writing Optimized Code 00:08:53
  • 10.1 Hidden Classes .html
  • 10.1 Managing arguments .html
  • 10.2 Hidden Classes .html
  • 10.2 Managing arguments .html
  • 11. WebAssembly 00:03:15
  • 11.1 WebAssembly .html
  • 12. Call Stack and Memory Heap 00:14:37
  • 13. Stack Overflow 00:03:21
  • 14. Garbage Collection 00:04:30
  • 15. Memory Leaks 00:06:34
  • 15.1 Memory Leaks at SoundCloud .html
  • 15.2 MDN setInterval .html
  • 16. Single Threaded 00:01:58
  • 17. Exercise Issue With Single Thread 00:02:40
  • 18. Javascript Runtime 00:14:07
  • 18.1 JS Runtime Playground .html
  • 19. Node.js 00:06:27
  • 19.1 Node.js .html
  • 20. Exercise Fix This Code .html
  • 20.1 Solution Code .html
  • 21. Section Review 00:05:02
  • 21.1 Async Code Playground .html
  • 22. Web Developer Monthly .html
  • 23. Advanced JavaScript Cheatsheet .html
  • 24. Endorsements On LinkedIN .html
3. Javascript Foundation II
  • 1. Section Overview 00:01:06
  • 1.1 Course Map .html
  • 2. Execution Context 00:08:35
  • 3. Lexical Environment 00:05:39
  • 4. Hoisting 00:10:47
  • 5. Exercise Hoisting 00:03:58
  • 5.1 Hoisting Repl .html
  • 6. Exercise Hoisting 2 00:07:06
  • 6.1 Hoisting 2 Repl .html
  • 7. Exercise Hoisting 3 .html
  • 8. Function Invocation 00:06:59
  • 9. arguments Keyword 00:04:22
  • 9.1 Function Repl .html
  • 9.1 MDN - arguments .html
  • 9.2 Function Repl .html
  • 9.2 MDN - arguments .html
  • 10. Variable Environment 00:06:41
  • 10.1 Variable Environment Repl .html
  • 11. Scope Chain 00:12:20
  • 11.1 Scope Chain Repl .html
  • 12. [[scope]] 00:02:03
  • 13. Exercise JS is Weird 00:04:57
  • 13.1 Exercise Repl .html
  • 14. Function Scope vs Block Scope 00:03:35
  • 15. Exercise Block Scope 00:03:45
  • 15.1 Exercise Repl .html
  • 16. Global Variables 00:04:10
  • 17. IIFE 00:13:38
  • 18. this Keyword 00:16:59
  • 18.1 More about Strict Mode .html
  • 18.1 this Repl .html
  • 18.2 More about Strict Mode .html
  • 18.2 this Repl .html
  • 19. Exercise Dynamic Scope vs Lexical Scope 00:12:08
  • 19.1 Exercise Repl .html
  • 20. call() apply() bind() 00:11:17
  • 20.1 Exercise Repl .html
  • 21. Exercise call() apply() .html
  • 21.1 Solution Code .html
  • 22. bind() and currying 00:03:42
  • 22.1 Currying Repl .html
  • 23. Exercise this Keyword 00:03:09
  • 23.1 Exercise Repl .html
  • 24. Exercise this Keyword 2 .html
  • 24.1 Solution Code .html
  • 25. Context vs Scope 00:01:08
  • 26. Section Review 00:02:47
4. Types in JavaScript
  • 1. Section Overview 00:01:22
  • 1.1 Course Map .html
  • 2. Javascript Types 00:13:40
  • 2.1 JS Built In Objects .html
  • 3. Array.isArray() 00:02:17
  • 4. Pass By Value vs Pass By Reference 00:17:06
  • 4.1 Pass By Value vs Pass By Reference Repl .html
  • 5. Exercise Compare Objects .html
  • 6. Exercise Pass By Reference .html
  • 6.1 Exercise Repl .html
  • 7. Type Coercion 00:09:02
  • 7.1 ECMA Comparison Algorithm .html
  • 7.1 JS Comparison Table .html
  • 7.2 JS Comparison Table .html
  • 7.2 MDN - Equality Comparisons .html
  • 7.3 ECMA Comparison Algorithm .html
  • 7.3 MDN - Equality Comparisons .html
  • 8. Exercise Type Coercion .html
  • 9. Quick Note Upcoming Videos .html
  • 10. JTS Dynamic vs Static Typing 00:11:50
  • 11. JTS Weakly vs Strongly Typed 00:03:18
  • 12. JTS Static Typing In JavaScript 00:09:45
5. The 2 Pillars Closures and Prototypal Inheritance
  • 1. Section Overview 00:01:54
  • 1.1 Course Map .html
  • 2. Functions are Objects 00:09:18
  • 3. First Class Citizens 00:04:04
  • 4. Extra Bits Functions 00:03:25
  • 5. Higher Order Functions 00:17:14
  • 5.1 Exercise Repl .html
  • 6. Exercise Higher Order Functions 00:03:45
  • 6.1 Solution Code .html
  • 6.2 Exercise Repl .html
  • 7. Closures 00:15:10
  • 7.1 Closures Repl .html
  • 8. Exercise Closures 00:03:18
  • 8.1 Exercise Repl .html
  • 9. Closures and Memory 00:07:52
  • 9.1 Exercise Repl .html
  • 10. Closures and Encapsulation 00:07:41
  • 10.1 Exercise Repl .html
  • 11. Exercise Closures 2 00:01:31
  • 11.1 Exercise Repl .html
  • 12. Solution Closures 2 00:02:34
  • 12.1 Solution Code .html
  • 13. Exercise Closures 3 00:01:28
  • 13.1 Exercise Repl .html
  • 14. Solution Closures 3 00:03:47
  • 14.1 Solution Code .html
  • 15. Closures Review 00:01:34
  • 16. Prototypal Inheritance 00:06:47
  • 17. Prototypal Inheritance 2 00:09:07
  • 17.1 Exercise Repl .html
  • 18. Prototypal Inheritance 3 00:07:46
  • 19. Prototypal Inheritance 4 00:10:35
  • 19.1 Exercise Repl .html
  • 20. Prototypal Inheritance 5 00:02:43
  • 20.1 Exercise Repl .html
  • 21. Prototypal Inheritance 6 00:09:16
  • 22. Exercise Prototypal Inheritance 00:02:55
  • 22.1 Exercise Repl .html
  • 23. Solution Prototypal Inheritance 00:08:20
  • 23.1 Solution Code .html
  • 24. Exercise Prototypal Inheritance with this .html
  • 24.1 Solution Code .html
  • 25. Section Review 00:03:57
6. Object Oriented Programming
  • 1. Section Overview 00:06:24
  • 1.1 Course Map .html
  • 1.1 History of Programming Languages .html
  • 1.2 Course Map .html
  • 1.2 History of Programming Languages .html
  • 2. OOP and FP 00:03:50
  • 3. OOP Introduction 00:03:21
  • 4. OOP1 Factory Functions 00:08:20
  • 4.1 Exercise Repl .html
  • 5. OOP2 Object.create() 00:07:38
  • 5.1 Exercise Repl .html
  • 6. OOP3 Constructor Functions 00:13:00
  • 6.1 Exercise Repl .html
  • 7. More Constructor Functions 00:08:38
  • 7.1 Exercise Repl .html
  • 8. Funny Thing About JS... 00:02:52
  • 9. OOP4 ES6 Classes 00:08:44
  • 9.1 Exercise Repl .html
  • 10. Object.create() vs Class 00:01:48
  • 11. this - 4 Ways 00:04:44
  • 11.1 Exercise Repl .html
  • 12. Inheritance 00:14:41
  • 12.1 Exercise Repl .html
  • 13. Inheritance 2 00:05:25
  • 13.1 Exercise Repl .html
  • 14. Public vs Private 00:04:21
  • 15. OOP in React.js 00:03:05
  • 16. 4 Pillars of OOP 00:08:17
  • 16.1 Exercise Repl .html
  • 17. Exercise OOP and Polymorphism .html
  • 17.1 Exercise Repl .html
  • 17.1 Solution Code .html
  • 17.2 Exercise Repl .html
  • 17.2 Solution Code .html
  • 18. Reviewing OOP 00:02:06
7. Functional Programming
  • 1. Section Overview 00:02:29
  • 1.1 Course Map .html
  • 2. Functional Programming Introduction 00:03:31
  • 3. Exercise Amazon 00:03:37
  • 3.1 Exercise Repl .html
  • 4. Pure Functions 00:04:35
  • 4.1 Exercise Repl .html
  • 5. Pure Functions 2 00:07:47
  • 5.1 Exercise Repl .html
  • 6. Can Everything Be Pure 00:04:33
  • 7. Idempotent 00:04:08
  • 7.1 Exercise Repl .html
  • 8. Imperative vs Declarative 00:06:27
  • 9. Immutability 00:05:28
  • 9.1 Structural Sharing .html
  • 9.2 Exercise Repl .html
  • 10. Higher Order Functions and Closures 00:07:49
  • 10.1 Exercise Repl .html
  • 11. Currying 00:04:24
  • 11.1 Exercise Repl .html
  • 12. Partial Application 00:04:24
  • 12.1 Exercise Repl .html
  • 13. Quick Note Upcoming Videos .html
  • 14. MCI Memoization 1 00:07:47
  • 15. MCI Memoization 2 00:03:56
  • 15.1 Exercise Repl .html
  • 16. Compose and Pipe 00:12:33
  • 16.1 Exercise Repl .html
  • 17. Arity 00:01:46
  • 18. Is FP The Answer To Everything 00:02:54
  • 19. Solution Amazon 00:21:48
  • 19.1 Solution Code .html
  • 20. Reviewing FP 00:05:14
8. OOP vs FP
  • 1. Composition vs Inheritance 00:16:20
  • 2. OOP vs FP 00:04:29
  • 3. OOP vs FP 2 00:05:19
9. Asynchronous JavaScript
  • 1. Section Overview 00:04:51
  • 1.1 Course Map .html
  • 1.2 Exercise Repl .html
  • 2. Quick Note Upcoming Videos .html
  • 3. How JavaScript Works 00:24:12
  • 4. Promises 00:22:26
  • 5. ES8 - Async Await 00:15:22
  • 6. ES9 (ES2018) 00:05:21
  • 7. ES9 (ES2018) - Async 00:11:11
  • 8. Job Queue 00:06:55
  • 8.1 Exercise Repl .html
  • 9. Parallel Sequence and Race 00:10:00
  • 9.1 Exercise Repl .html
  • 10. Threads Concurrency and Parallelism 00:11:27
  • 10.1 More about running node on multiple CPUs .html
  • 10.2 More about multi threading .html
  • 10.3 Web Workers .html
10. Modules In JavaScript
  • 1. Section Overview 00:02:44
  • 1.1 Course Map .html
  • 2. What Is A Module 00:11:05
  • 2.1 Exercise Repl .html
  • 3. Module Pattern 00:13:05
  • 4. Module Pattern Pros and Cons 00:04:53
  • 5. CommonJS AMD UMD 00:10:05
  • 6. ES6 Modules 00:08:52
  • 6.1 ES6 - Imports .html
  • 6.2 ES6 - Exports .html
  • 7. Section Review 00:02:14
11. Error Handling
  • 1. Section Overview 00:01:07
  • 1.1 Course Map .html
  • 2. Errors In JavaScript 00:08:52
  • 2.1 Exercise Repl .html
  • 3. Try Catch 00:09:53
  • 3.1 Exercise Repl .html
  • 4. Async Error Handling 00:12:56
  • 4.1 Exercise Repl .html
  • 5. Async Error Handling 2 00:03:30
  • 5.1 Exercise Repl .html
  • 6. Exercise Error Handling .html
  • 6.1 Exercise Repl .html
  • 7. Extending Errors 00:05:08
  • 7.1 Exercise Repl .html
  • 8. Section Review 00:01:18
12. Thank You
  • 1. Learning Guideline .html
  • 2. Endorsements On LinkedIN .html
  • 3. Become an Alumni .html
  • 4. Coding Challenges .html
  • 5. Thank You 00:00:39
  • 6. Bonus Materials .html
13. Bonus Data Structures In JavaScript
  • 1. Quick Note Upcoming Videos .html
  • 2. Section Overview 00:01:58
  • 3. What Is A Data Structure 00:05:53
  • 3.1 List of Data Structures .html
  • 4. How Computers Store Data 00:12:33
  • 4.1 Crash Course RAMs and Registers .html
  • 4.2 Computer Memory .html
  • 5. Data Structures In Different Languages 00:03:27
  • 6. Operations On Data Structures 00:03:05
  • 7. Array Introduction 00:13:51
  • 7.1 Array Repl .html
  • 8. Static vs Dynamic Arrays 00:06:40
  • 9. Implementing An Array 00:17:19
  • 9.1 Data Structure Array .html
  • 10. Strings and Arrays 00:01:04
  • 11. Exercise Reverse A String 00:01:35
  • 11.1 Reverse String Repl .html
  • 12. Solution Reverse A String 00:10:31
  • 12.1 Solution Code .html
  • 13. Exercise Merge Sorted Arrays 00:00:44
  • 13.1 Merge Sorted Arrays Repl .html
  • 14. Solution Merge Sorted Arrays 00:14:12
  • 14.1 Solution Code .html
  • 15. Arrays Review 00:03:28
  • 16. Hash Tables Introduction 00:04:10
  • 17. Hash Function 00:05:56
  • 17.1 MD5 .html
  • 18. Hash Collisions 00:09:43
  • 18.1 Hash Table Animation .html
  • 18.2 Hash Tables - Wiki .html
  • 19. Hash Tables In Different Languages 00:03:30
  • 19.1 Hash Table Repl .html
  • 20. Exercise Implement A Hash Table 00:03:51
  • 20.1 Exercise Repl .html
  • 21. Solution Implement A Hash Table 00:17:24
  • 21.1 Solution Code .html
  • 22. keys() 00:06:11
  • 22.1 Solution Code .html
  • 23. Hash Tables vs Arrays 00:02:01
  • 24. Exercise First Recurring Character 00:01:18
  • 24.1 Exercise Repl .html
  • 25. Solution First Recurring Character 00:16:11
  • 25.1 Solution Code .html
  • 26. Hash Tables Review 00:06:09
14. Appendix I Javascript Basics
  • 1. Quick Note Upcoming Videos .html
  • 2. What is JavaScript 00:05:33
  • 3. Your First JavaScript 00:11:41
  • 4. Variables 00:15:09
  • 5. Control Flow 00:16:36
  • 6. JavaScript On Our Webpage 00:09:05
  • 7. Functions 00:23:53
  • 8. Data Structures Arrays 00:13:06
  • 9. Data Structures Objects 00:15:25
  • 10. Exercise Build Facebook 00:11:16
  • 11. JavaScript Terminology 00:03:43
  • 12. Loops 00:22:22
  • 13. Exercise Build Facebook 2 00:08:02
  • 14. JavaScript Keywords 00:03:02
15. Appendix II Intermediate Javascript
  • 1. Quick Note Upcoming Videos .html
  • 2. Scope 00:10:26
  • 3. Advanced Control Flow 00:11:42
  • 4. ES5 and ES6 00:26:42
  • 5. Advanced Functions 00:20:05
  • 6. Advanced Arrays 00:16:40
  • 7. Advanced Objects 00:24:51
  • 8. ES7 00:03:06
  • 9. ES8 00:09:19
  • 10. Note ES9 ES8 Async Await .html
  • 11. ES10 (ES2019) 00:16:49
  • 11.1 ES10 Solutions .js
  • 11.2 ES10 Exercise .js
  • 12. Advanced Loops 00:12:04
  • 13. Debugging 00:08:23
  • 14. Modules 00:13:19
16. Bonus Extra Bits
  • 1. Notes To Review The Course .html
  • 2. AMA - 100000 Students!! 00:38:30
17. Extras
  • 1. Bonus Special Thank You Gift! .html