├── .gitignore ├── 2 Objects ├── 10-enumerating-properties.js ├── 11-abstraction.js ├── 12-private-properties-and-methods.js ├── 13-getters-and-setters.js ├── 3-object-literals.js ├── 4-factory-functions.js ├── 5-constructor-functions.js ├── 6-constructor-property.js ├── 7-functions-are-objects.js ├── 8-value-vs-reference-tyes.js └── 9-adding-or-removing-properties.js ├── 3 Prototypes ├── 2-prototypes-and-prototypical-inheritance.js ├── 3-multilevel-inheritance.js ├── 4-property-descriptors.js ├── 5-constructor-prototypes.js ├── 6-prototype-vs-instance-members.js ├── 7-iterating-instance-and-prototype-members.js └── 8-avoid-extending-the-built-in-objects.js ├── 4 Prototypical Inheritance ├── 1-creating-your-own-prototypical-inheritance.js ├── 2-resetting-the-constructor.js ├── 3-calling-the-super-constructor.js ├── 4-intermediate-function-inheritance.js ├── 5-method-overriding.js ├── 6-polymorphism.js ├── 7-when-to-use-inheritance.js └── 8-mixins.js ├── 5 ES6 Classes ├── 1-es6-classes.js ├── 2-hoisting.js ├── 3-static-methods.js ├── 4-the-this-keyword.js ├── 5-private-members-using-symbols.js ├── 6-private-members-using-weakmaps.js ├── 7-getters-and-setters.js ├── 8-inheritance.js └── 9-method-overriding.js ├── 8 Node Package Manager ├── 3-installing-a-node-package.js ├── 4-package-dependencies.js └── 5-using-a-package.js ├── 9 Asynchronous JavaScript ├── 1-synchronous-vs-asynchronous-code.js ├── 10-running-promises-in-parallel.js ├── 11-async-and-await.js ├── 2-patterns-for-dealing-with-asynchronous-code.js ├── 3-callbacks.js ├── 4-callback-hell.js ├── 5-named-functions.js ├── 6-promises.js ├── 7-replacing-callbacks-with-promises.js ├── 8-consuming-promises.js └── 9-creating-settled-promises.js └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | */node_modules/ 2 | .vscode -------------------------------------------------------------------------------- /2 Objects/10-enumerating-properties.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/2 Objects/10-enumerating-properties.js -------------------------------------------------------------------------------- /2 Objects/11-abstraction.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/2 Objects/11-abstraction.js -------------------------------------------------------------------------------- /2 Objects/12-private-properties-and-methods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/2 Objects/12-private-properties-and-methods.js -------------------------------------------------------------------------------- /2 Objects/13-getters-and-setters.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/2 Objects/13-getters-and-setters.js -------------------------------------------------------------------------------- /2 Objects/3-object-literals.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/2 Objects/3-object-literals.js -------------------------------------------------------------------------------- /2 Objects/4-factory-functions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/2 Objects/4-factory-functions.js -------------------------------------------------------------------------------- /2 Objects/5-constructor-functions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/2 Objects/5-constructor-functions.js -------------------------------------------------------------------------------- /2 Objects/6-constructor-property.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/2 Objects/6-constructor-property.js -------------------------------------------------------------------------------- /2 Objects/7-functions-are-objects.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/2 Objects/7-functions-are-objects.js -------------------------------------------------------------------------------- /2 Objects/8-value-vs-reference-tyes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/2 Objects/8-value-vs-reference-tyes.js -------------------------------------------------------------------------------- /2 Objects/9-adding-or-removing-properties.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/2 Objects/9-adding-or-removing-properties.js -------------------------------------------------------------------------------- /3 Prototypes/2-prototypes-and-prototypical-inheritance.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/3 Prototypes/2-prototypes-and-prototypical-inheritance.js -------------------------------------------------------------------------------- /3 Prototypes/3-multilevel-inheritance.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/3 Prototypes/3-multilevel-inheritance.js -------------------------------------------------------------------------------- /3 Prototypes/4-property-descriptors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/3 Prototypes/4-property-descriptors.js -------------------------------------------------------------------------------- /3 Prototypes/5-constructor-prototypes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/3 Prototypes/5-constructor-prototypes.js -------------------------------------------------------------------------------- /3 Prototypes/6-prototype-vs-instance-members.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/3 Prototypes/6-prototype-vs-instance-members.js -------------------------------------------------------------------------------- /3 Prototypes/7-iterating-instance-and-prototype-members.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/3 Prototypes/7-iterating-instance-and-prototype-members.js -------------------------------------------------------------------------------- /3 Prototypes/8-avoid-extending-the-built-in-objects.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/3 Prototypes/8-avoid-extending-the-built-in-objects.js -------------------------------------------------------------------------------- /4 Prototypical Inheritance/1-creating-your-own-prototypical-inheritance.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/4 Prototypical Inheritance/1-creating-your-own-prototypical-inheritance.js -------------------------------------------------------------------------------- /4 Prototypical Inheritance/2-resetting-the-constructor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/4 Prototypical Inheritance/2-resetting-the-constructor.js -------------------------------------------------------------------------------- /4 Prototypical Inheritance/3-calling-the-super-constructor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/4 Prototypical Inheritance/3-calling-the-super-constructor.js -------------------------------------------------------------------------------- /4 Prototypical Inheritance/4-intermediate-function-inheritance.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/4 Prototypical Inheritance/4-intermediate-function-inheritance.js -------------------------------------------------------------------------------- /4 Prototypical Inheritance/5-method-overriding.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/4 Prototypical Inheritance/5-method-overriding.js -------------------------------------------------------------------------------- /4 Prototypical Inheritance/6-polymorphism.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/4 Prototypical Inheritance/6-polymorphism.js -------------------------------------------------------------------------------- /4 Prototypical Inheritance/7-when-to-use-inheritance.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/4 Prototypical Inheritance/7-when-to-use-inheritance.js -------------------------------------------------------------------------------- /4 Prototypical Inheritance/8-mixins.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/4 Prototypical Inheritance/8-mixins.js -------------------------------------------------------------------------------- /5 ES6 Classes/1-es6-classes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/5 ES6 Classes/1-es6-classes.js -------------------------------------------------------------------------------- /5 ES6 Classes/2-hoisting.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/5 ES6 Classes/2-hoisting.js -------------------------------------------------------------------------------- /5 ES6 Classes/3-static-methods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/5 ES6 Classes/3-static-methods.js -------------------------------------------------------------------------------- /5 ES6 Classes/4-the-this-keyword.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/5 ES6 Classes/4-the-this-keyword.js -------------------------------------------------------------------------------- /5 ES6 Classes/5-private-members-using-symbols.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/5 ES6 Classes/5-private-members-using-symbols.js -------------------------------------------------------------------------------- /5 ES6 Classes/6-private-members-using-weakmaps.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/5 ES6 Classes/6-private-members-using-weakmaps.js -------------------------------------------------------------------------------- /5 ES6 Classes/7-getters-and-setters.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/5 ES6 Classes/7-getters-and-setters.js -------------------------------------------------------------------------------- /5 ES6 Classes/8-inheritance.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/5 ES6 Classes/8-inheritance.js -------------------------------------------------------------------------------- /5 ES6 Classes/9-method-overriding.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/5 ES6 Classes/9-method-overriding.js -------------------------------------------------------------------------------- /8 Node Package Manager/3-installing-a-node-package.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/8 Node Package Manager/3-installing-a-node-package.js -------------------------------------------------------------------------------- /8 Node Package Manager/4-package-dependencies.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/8 Node Package Manager/4-package-dependencies.js -------------------------------------------------------------------------------- /8 Node Package Manager/5-using-a-package.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/8 Node Package Manager/5-using-a-package.js -------------------------------------------------------------------------------- /9 Asynchronous JavaScript/1-synchronous-vs-asynchronous-code.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/9 Asynchronous JavaScript/1-synchronous-vs-asynchronous-code.js -------------------------------------------------------------------------------- /9 Asynchronous JavaScript/10-running-promises-in-parallel.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/9 Asynchronous JavaScript/10-running-promises-in-parallel.js -------------------------------------------------------------------------------- /9 Asynchronous JavaScript/11-async-and-await.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/9 Asynchronous JavaScript/11-async-and-await.js -------------------------------------------------------------------------------- /9 Asynchronous JavaScript/2-patterns-for-dealing-with-asynchronous-code.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/9 Asynchronous JavaScript/2-patterns-for-dealing-with-asynchronous-code.js -------------------------------------------------------------------------------- /9 Asynchronous JavaScript/3-callbacks.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/9 Asynchronous JavaScript/3-callbacks.js -------------------------------------------------------------------------------- /9 Asynchronous JavaScript/4-callback-hell.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/9 Asynchronous JavaScript/4-callback-hell.js -------------------------------------------------------------------------------- /9 Asynchronous JavaScript/5-named-functions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/9 Asynchronous JavaScript/5-named-functions.js -------------------------------------------------------------------------------- /9 Asynchronous JavaScript/6-promises.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/9 Asynchronous JavaScript/6-promises.js -------------------------------------------------------------------------------- /9 Asynchronous JavaScript/7-replacing-callbacks-with-promises.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/9 Asynchronous JavaScript/7-replacing-callbacks-with-promises.js -------------------------------------------------------------------------------- /9 Asynchronous JavaScript/8-consuming-promises.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/9 Asynchronous JavaScript/8-consuming-promises.js -------------------------------------------------------------------------------- /9 Asynchronous JavaScript/9-creating-settled-promises.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenGarciaDev/JavaScript-Pro-Starter-Files/9c79609cdd0960dd3a5a2abd9b4f56af9de17669/9 Asynchronous JavaScript/9-creating-settled-promises.js -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Intermediate Topics Course 2 | 3 | 🔥 Get Instant Access to **FREE** JavaScript Resources! 🔥 4 | 5 | Sign up now at [https://stevencodecraft.com](https://stevencodecraft.com) and download these must-have course materials for **FREE**: 6 | 7 | - ✅ 600-Page JavaScript Pro Ebook – Master JavaScript like a pro 8 | - ✅ 120-Page Active Recall Study Guide – Study smarter, not harder 9 | - ✅ 226-Page JavaScript Essentials for Technical Interviews PDF – Ace your coding interviews 10 | - ✅ Starter Project Files (GitHub) – Start coding immediately 11 | - ✅ Finished Project Files (GitHub) – Compare and learn from completed projects 12 | 13 | 👉 Don’t miss out! Sign up and grab your **free** downloads today: [https://stevencodecraft.com](https://stevencodecraft.com) 🚀 14 | 15 | ## Finished Files 16 | 17 | [Finished Files GitHub Repo](https://github.com/stevenGarciaDev/JavaScript-Pro-Finished-Course) 18 | 19 | ## Video Link 20 | 21 | [Watch the Video](https://www.youtube.com/watch?v=JMQitlRMZik&feature=youtu.be) 22 | 23 | ## Video Course Sections - 9.5 Hours of FREE content 24 | 25 | ### Section 1: Intro to Advanced Topics (17 minutes) 26 | 27 | - [00:00:00 Intro](https://www.youtube.com/watch?v=JMQitlRMZik&t=0s) 28 | - [00:01:52 Why this course works for you?](https://www.youtube.com/watch?v=JMQitlRMZik&t=112s) 29 | - [00:05:59 Course Materials](https://www.youtube.com/watch?v=JMQitlRMZik&t=359s) 30 | - [00:11:40 Setting up the Development Environment](https://www.youtube.com/watch?v=JMQitlRMZik&t=700s) 31 | - [00:17:10 Social Media](https://www.youtube.com/watch?v=JMQitlRMZik&t=1030s) 32 | 33 | ### Section 2: Objects (1 hour 22 minutes) 34 | 35 | - [00:17:40 What is OOP?](https://www.youtube.com/watch?v=JMQitlRMZik&t=1060s) 36 | - [00:19:40 Four Pillars of OOP](https://www.youtube.com/watch?v=JMQitlRMZik&t=1180s) 37 | - [00:26:45 Object Literals](https://www.youtube.com/watch?v=JMQitlRMZik&t=1605s) 38 | - [00:30:46 Factories](https://www.youtube.com/watch?v=JMQitlRMZik&t=1846s) 39 | - [00:34:46 Constructors](https://www.youtube.com/watch?v=JMQitlRMZik&t=2086s) 40 | - [00:39:18 Constructor Property](https://www.youtube.com/watch?v=JMQitlRMZik&t=2358s) 41 | - [00:40:19 Functions are Objects](https://www.youtube.com/watch?v=JMQitlRMZik&t=2419s) 42 | - [00:44:23 Value vs Reference Types](https://www.youtube.com/watch?v=JMQitlRMZik&t=2663s) 43 | - [00:47:20 Adding or Removing Properties](https://www.youtube.com/watch?v=JMQitlRMZik&t=2840s) 44 | - [00:51:18 Enumerating Properties](https://www.youtube.com/watch?v=JMQitlRMZik&t=3078s) 45 | - [00:56:36 Abstraction](https://www.youtube.com/watch?v=JMQitlRMZik&t=3396s) 46 | - [01:11:56 Private Properties and Methods](https://www.youtube.com/watch?v=JMQitlRMZik&t=4316s) 47 | - [01:34:34 Getters and Setters](https://www.youtube.com/watch?v=JMQitlRMZik&t=5674s) 48 | - [01:39:23 Summary](https://www.youtube.com/watch?v=JMQitlRMZik&t=5963s) 49 | 50 | ### Section 3: Prototypes (55 minutes) 51 | 52 | - [01:40:36 Inheritance](https://www.youtube.com/watch?v=JMQitlRMZik&t=6036s) 53 | - [01:44:52 Prototypes and Prototypical Inheritance](https://www.youtube.com/watch?v=JMQitlRMZik&t=6292s) 54 | - [02:03:07 Multilevel Inheritance](https://www.youtube.com/watch?v=JMQitlRMZik&t=7387s) 55 | - [02:04:54 Property Descriptors](https://www.youtube.com/watch?v=JMQitlRMZik&t=7494s) 56 | - [02:14:00 Constructor Prototypes](https://www.youtube.com/watch?v=JMQitlRMZik&t=8040s) 57 | - [02:17:34 Prototype vs Instance Members](https://www.youtube.com/watch?v=JMQitlRMZik&t=8254s) 58 | - [02:23:29 Iterating Instance and Prototype Members](https://www.youtube.com/watch?v=JMQitlRMZik&t=8609s) 59 | - [02:28:15 Avoid Extending the Built-in Objects](https://www.youtube.com/watch?v=JMQitlRMZik&t=8895s) 60 | - [02:32:17 Summary](https://www.youtube.com/watch?v=JMQitlRMZik&t=9137s) 61 | 62 | ### Section 4: Prototypical Inheritance (54 minutes) 63 | 64 | - [02:35:40 Creating Your Own Prototypical Inheritance](https://www.youtube.com/watch?v=JMQitlRMZik&t=9350s) 65 | - [02:47:30 Resetting the Constructor](https://www.youtube.com/watch?v=JMQitlRMZik&t=10050s) 66 | - [02:54:03 Calling the Super Constructor](https://www.youtube.com/watch?v=JMQitlRMZik&t=10443s) 67 | - [02:59:18 Intermediate Function Inheritance](https://www.youtube.com/watch?v=JMQitlRMZik&t=10758s) 68 | - [03:03:25 Method Overriding](https://www.youtube.com/watch?v=JMQitlRMZik&t=11005s) 69 | - [03:08:08 Polymorphism](https://www.youtube.com/watch?v=JMQitlRMZik&t=11288s) 70 | - [03:13:50 When to Use Inheritance](https://www.youtube.com/watch?v=JMQitlRMZik&t=11570s) 71 | - [03:21:45 Mixins](https://www.youtube.com/watch?v=JMQitlRMZik&t=12085s) 72 | - [03:27:56 Summary](https://www.youtube.com/watch?v=JMQitlRMZik&t=12476s) 73 | 74 | ### Section 5: ES6 Classes (1 hour 10 minutes) 75 | 76 | - [03:29:36 ES6 Classes](https://www.youtube.com/watch?v=JMQitlRMZik&t=12576s) 77 | - [03:36:48 Hoisting](https://www.youtube.com/watch?v=JMQitlRMZik&t=12968s) 78 | - [03:42:13 Static Methods](https://www.youtube.com/watch?v=JMQitlRMZik&t=13333s) 79 | - [03:50:02 The "this" keyword](https://www.youtube.com/watch?v=JMQitlRMZik&t=13802s) 80 | - [03:55:50 Private Members Using Symbols](https://www.youtube.com/watch?v=JMQitlRMZik&t=14150s) 81 | - [04:11:44 Private Members Using WeakMaps](https://www.youtube.com/watch?v=JMQitlRMZik&t=15104s) 82 | - [04:19:42 Getters and Setters](https://www.youtube.com/watch?v=JMQitlRMZik&t=15582s) 83 | - [04:26:20 Inheritance](https://www.youtube.com/watch?v=JMQitlRMZik&t=15980s) 84 | - [04:33:06 Method Overriding](https://www.youtube.com/watch?v=JMQitlRMZik&t=16386s) 85 | - [04:38:01 Summary](https://www.youtube.com/watch?v=JMQitlRMZik&t=16681s) 86 | 87 | ### Section 6: ES6 Tooling (53 minutes) 88 | 89 | - [04:40:15 Modules](https://www.youtube.com/watch?v=JMQitlRMZik&t=16815s) 90 | - [04:44:33 CommonJS Modules](https://www.youtube.com/watch?v=JMQitlRMZik&t=17073s) 91 | - [04:45:09 ES6 Modules](https://www.youtube.com/watch?v=JMQitlRMZik&t=17109s) 92 | - [05:05:14 ES6 Tooling](https://www.youtube.com/watch?v=JMQitlRMZik&t=18314s) 93 | - [05:10:55 Babel](https://www.youtube.com/watch?v=JMQitlRMZik&t=18655s) 94 | - [05:22:13 Webpack](https://www.youtube.com/watch?v=JMQitlRMZik&t=19333s) 95 | - [05:31:59 Summary](https://www.youtube.com/watch?v=JMQitlRMZik&t=19919s) 96 | 97 | ### Section 7: Node Module System (1 hour 29 minutes) 98 | 99 | - [05:33:30 What is Node](https://www.youtube.com/watch?v=JMQitlRMZik&t=20010s) 100 | - [05:36:10 Node Architecture](https://www.youtube.com/watch?v=JMQitlRMZik&t=20170s) 101 | - [05:38:53 How Node Works](https://www.youtube.com/watch?v=JMQitlRMZik&t=20333s) 102 | - [05:43:58 Intro to the Node Module System](https://www.youtube.com/watch?v=JMQitlRMZik&t=20638s) 103 | - [05:49:38 Global Object](https://www.youtube.com/watch?v=JMQitlRMZik&t=20978s) 104 | - [05:55:21 Modules](https://www.youtube.com/watch?v=JMQitlRMZik&t=21321s) 105 | - [06:03:29 Creating a Module](https://www.youtube.com/watch?v=JMQitlRMZik&t=21809s) 106 | - [06:08:32 Loading a Module](https://www.youtube.com/watch?v=JMQitlRMZik&t=22112s) 107 | - [06:14:17 Module Wrapper Function](https://www.youtube.com/watch?v=JMQitlRMZik&t=22457s) 108 | - [06:19:02 Path Module](https://www.youtube.com/watch?v=JMQitlRMZik&t=22742s) 109 | - [06:24:43 OS Module](https://www.youtube.com/watch?v=JMQitlRMZik&t=23083s) 110 | - [06:28:43 File System Module](https://www.youtube.com/watch?v=JMQitlRMZik&t=23323s) 111 | - [06:34:31 Events Module](https://www.youtube.com/watch?v=JMQitlRMZik&t=23671s) 112 | - [06:39:57 Event Arguments](https://www.youtube.com/watch?v=JMQitlRMZik&t=23997s) 113 | - [06:45:24 Extending EventEmitter](https://www.youtube.com/watch?v=JMQitlRMZik&t=24324s) 114 | - [06:52:57 HTTP Module](https://www.youtube.com/watch?v=JMQitlRMZik&t=24777s) 115 | - [07:00:04 Summary](https://www.youtube.com/watch?v=JMQitlRMZik&t=25204s) 116 | 117 | ### Section 8: Node Package Manager (1 hour 16 minutes) 118 | 119 | - [07:02:34 Intro to the Node Package Manager](https://www.youtube.com/watch?v=JMQitlRMZik&t=25354s) 120 | - [07:07:59 package.json](https://www.youtube.com/watch?v=JMQitlRMZik&t=25679s) 121 | - [07:13:13 Installing a Node Package](https://www.youtube.com/watch?v=JMQitlRMZik&t=25993s) 122 | - [07:18:14 Using a Package](https://www.youtube.com/watch?v=JMQitlRMZik&t=26294s) 123 | - [07:21:56 Package Dependencies](https://www.youtube.com/watch?v=JMQitlRMZik&t=26516s) 124 | - [07:28:00 NPM Packages and Source Control](https://www.youtube.com/watch?v=JMQitlRMZik&t=26880s) 125 | - [07:33:39 Semantic Versioning](https://www.youtube.com/watch?v=JMQitlRMZik&t=27219s) 126 | - [07:38:40 Listing the Installed Packages](https://www.youtube.com/watch?v=JMQitlRMZik&t=27520s) 127 | - [07:43:24 Viewing Registry Info for a Package](https://www.youtube.com/watch?v=JMQitlRMZik&t=27804s) 128 | - [07:47:21 Installing a Specific Version of a Package](https://www.youtube.com/watch?v=JMQitlRMZik&t=28041s) 129 | - [07:51:04 Updating Local Packages](https://www.youtube.com/watch?v=JMQitlRMZik&t=28264s) 130 | - [07:56:11 DevDependencies](https://www.youtube.com/watch?v=JMQitlRMZik&t=28571s) 131 | - [08:00:50 Uninstalling a Package](https://www.youtube.com/watch?v=JMQitlRMZik&t=28850s) 132 | - [08:04:47 Working with Global Packages](https://www.youtube.com/watch?v=JMQitlRMZik&t=29087s) 133 | - [08:09:39 Publishing a Package](https://www.youtube.com/watch?v=JMQitlRMZik&t=29379s) 134 | - [08:14:41 Updating a Published Package](https://www.youtube.com/watch?v=JMQitlRMZik&t=29681s) 135 | 136 | ### Section 9: Asynchronous JavaScript (1 hour 12 minutes) 137 | 138 | - [08:19:03 Synchronous vs Asynchronous Code](https://www.youtube.com/watch?v=JMQitlRMZik&t=29943s) 139 | - [08:24:08 Patterns for Dealing with Asynchronous Code](https://www.youtube.com/watch?v=JMQitlRMZik&t=30248s) 140 | - [08:35:17 Callbacks](https://www.youtube.com/watch?v=JMQitlRMZik&t=30917s) 141 | - [08:41:26 Callback Hell](https://www.youtube.com/watch?v=JMQitlRMZik&t=31286s) 142 | - [08:52:49 Named Functions](https://www.youtube.com/watch?v=JMQitlRMZik&t=31969s) 143 | - [09:03:21 Promises](https://www.youtube.com/watch?v=JMQitlRMZik&t=32501s) 144 | - [09:08:49 Replacing Callbacks with Promises](https://www.youtube.com/watch?v=JMQitlRMZik&t=32849s) 145 | - [09:12:01 Creating Settled Promises](https://www.youtube.com/watch?v=JMQitlRMZik&t=33061s) 146 | - [09:15:54 Running Promises in Parallel](https://www.youtube.com/watch?v=JMQitlRMZik&t=33354s) 147 | - [09:23:04 Async and Await](https://www.youtube.com/watch?v=JMQitlRMZik&t=33784s) 148 | - [09:28:06 Summary](https://www.youtube.com/watch?v=JMQitlRMZik&t=34086s) 149 | --------------------------------------------------------------------------------