Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

freeCodeCamp

JavaScript Essentials: From OOP to Asynchronous Programming

via freeCodeCamp

Overview

Coursera Plus Monthly Sale: All Certificates & Courses 40% Off!
Master the fundamentals of JavaScript in this comprehensive 9.5-hour course covering everything from object-oriented programming to advanced asynchronous techniques. Explore objects, prototypes, inheritance, ES6 classes, and modern JavaScript tooling. Dive into the Node module system and package manager while learning practical skills for building robust applications. Access both starter and finished files through provided GitHub repositories to follow along with instructor Steven Garcia. The curriculum progresses from basic OOP concepts through prototypical inheritance, ES6 features, Node.js fundamentals, and concludes with asynchronous JavaScript patterns including callbacks, promises, and async/await.

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

Reviews

Start your review of JavaScript Essentials: From OOP to Asynchronous Programming

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.