Overview
Syllabus
0:00:00 Intro
0:02:18 Why this course works for you?
0:06:25 Course Materials
0:12:06 Setting up the Development Environment
0:17:36 Social Media
0:18:06 What is OOP?
0:20:06 Four Pillars of OOP
0:27:11 Object Literals
0:31:12 Factories
0:35:12 Constructors
0:39:44 Constructor Property
0:40:45 Functions are Objects
0:44:49 Value vs Reference Types
0:47:46 Adding or Removing Properties
0:51:44 Enumerating Properties
0:57:02 Abstraction
1:12:22 Private Properties and Methods
1:35:00 Getters and Setters
1:39:49 Summary
1:41:02 Inheritance
1:45:18 Prototypes and Prototypical Inheritance
2:03:33 Multilevel Inheritance
2:05:20 Property Descriptors
2:14:26 Constructor Prototypes
2:18:00 Prototype vs Instance Members
2:23:55 Iterating Instance and Prototype Members
2:28:41 Avoid Extending the Built-in Objects
2:32:43 Summary
2:36:06 Creating Your Own Prototypical Inheritance
2:47:56 Resetting the Constructor
2:54:29 Calling the Super Constructor
2:59:44 Intermediate Function Inheritance
3:03:51 Method Overriding
3:08:34 Polymorphism
3:14:16 When to Use Inheritance
3:22:11 Mixins
3:28:22 Summary
3:30:02 ES6 Classes
3:37:14 Hoisting
3:42:39 Static Methods
3:50:28 The "this" keyword
3:56:16 Private Members Using Symbols
4:12:10 Private Members Using WeakMaps
4:20:08 Getters and Setters
4:26:46 Inheritance
4:33:32 Method Overriding
4:38:27 Summary
4:40:41 Modules
4:44:59 CommonJS Modules
4:45:35 ES6 Modules
5:05:40 ES6 Tooling
5:11:21 Babel
5:22:39 Webpack
5:32:25 Summary
5:33:56 What is Node
5:36:36 Node Architecture
5:39:19 How Node Works
5:44:24 Intro to the Node Module System
5:50:04 Global Object
5:55:47 Modules
6:03:55 Creating a Module
6:08:58 Loading a Module
6:14:43 Module Wrapper Function
6:19:28 Path Module
6:25:09 OS Module
6:29:09 File System Module
6:34:57 Events Module
6:40:23 Event Arguments
6:45:50 Extending EventEmitter
6:53:23 HTTP Module
7:00:30 Summary
7:03:00 Intro to the Node Package Manager
7:08:25 package.json
7:13:39 Installing a Node Package
7:18:40 Using a Package
7:22:22 Package Dependencies
7:28:26 NPM Packages and Source Control
7:34:05 Semantic Versioning
7:39:06 Listing the Installed Packages
7:43:50 Viewing Registry Info for a Package
7:47:47 Installing a Specific Version of a Package
7:51:30 Updating Local Packages
7:56:37 DevDependencies
8:01:16 Uninstalling a Package
8:05:13 Working with Global Packages
8:10:05 Publishing a Package
8:15:07 Updating a Published Package
8:19:29 Synchronous vs Asynchronous Code
8:24:34 Patterns for Dealing with Asynchronous Code
8:35:43 Callbacks
8:41:52 Callback Hell
8:53:15 Named Functions
9:03:47 Promises
9:09:15 Replacing Callbacks with Promises
9:12:27 Creating Settled Promises
9:16:20 Running Promises in Parallel
9:23:30 Async and Await
9:28:32 Summary
Taught by
freeCodeCamp.org