Object-oriented Programming in JavaScript
4.6 (2,516 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
12,611 students enrolled

Object-oriented Programming in JavaScript

Learn all about OOP, understand the most confusing parts of JavaScript and prepare for technical interviews
4.6 (2,513 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
12,605 students enrolled
Created by Mosh Hamedani
Last updated 4/2018
English
English
Current price: $34.99 Original price: $49.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 4 hours on-demand video
  • 7 articles
  • 12 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Understand the most confusing parts of JavaScript
  • Learn all about object-oriented programming
  • Prepare for technical interviews
  • Manage and reduce complexity in code
  • Build re-usable components
  • Write cleaner code
  • Learn all about prototypes and prototypical inheritance
  • Use ES6 features (classes and modules) and tooling
Course content
Expand all 64 lectures 03:53:46
+ Objects
15 lectures 50:20
1- Introduction
00:45
2- Object Literals
03:03
3- Factories
02:51
4- Constructors
05:36
5- Constructor Property
02:24
6- Functions are Objects
04:47
7- Value vs Reference Types
05:49
8- Adding or Removing Properties
03:53
9- Enumerating Properties
02:50
10- Abstraction
04:02
11- Private Properties and Methods
04:05
Getters and Setters
05:36
13- Cheat Sheet
00:00
14- Exercise- Stop Watch
02:08
15- Solution- Stopwatch
02:31
+ Prototypes
11 lectures 37:24
1- Inheritance
02:26
2- Prototypes and Prototypical Inheritance
05:33
3- Multi-level Inheritance
02:51
4- Property Descriptors
05:07
5- Constructor Prototypes
03:52
6- Prototype vs. Instance Members
06:04
7- Iterating Instance and Prototype Members
02:39
8- Avoid Extending the Built-in Objects
01:41
9- Cheat Sheet
00:00
10- Exercise
01:33
11- Solution
05:38
+ Prototypical Inheritance
13 lectures 50:32
1- Creating Your Own Prototypical Inheritance
05:34
2- Resetting the Constructor
04:01
3- Calling the Super Constructor
03:48
4- Intermediate Function Inheritance
03:05
5- Method Overriding
03:29
6- Polymorphism
04:22
7- When to Use Inheritance
03:23
8- Mixins
05:53
9- Cheat Sheet
00:00
10- Exercise Prototypical Inheritence
03:18
11- Solution Prototypical Inheritance
05:53
12- Exercise- Polymorphism
02:35
13- Solution- Polymorphism
05:11
+ ES6 Classes
12 lectures 50:35
1- ES6 Classes
05:41
2- Hoisting
03:46
3- Static Methods
04:17
4- The This Keyword
04:57
5- Private Members Using Symbols
07:48
Private Members Using WeakMaps
06:58
7- Getters and Setters
02:50
Inheritance
04:00
9- Method Riding
02:33
10- Cheat Sheet
00:00
11- Exercise
03:25
12- Solution
04:20
+ ES6 Modules
8 lectures 30:21
1- Modules
03:42
2- CommonJS Modules
05:51
3- ES6 Modules
03:24
4- ES6 Tooling
01:26
5- Babel
07:11
6- Webpack
08:26
7- Cheat Sheet
00:00
Requirements
  • At least 3 months experience with JavaScript
Description

What is Object-oriented Programming (OOP)?

Object-oriented programming (OOP) is a popular programming paradigm or style of programming. It’s been around since ‘70s, but unlike tools and frameworks that come and go, OOP is still very relevant today. That’s because it’s not a programming language or a tool. It’s a style of programming.


Why learn OOP?

OOP helps you manage and reduce complexity in software by building re-usable building blocks (objects). Properly designed objects provide a simple interface and hide the unnecessary complexity from the outside, just like a DVD player! A DVD player has a complex logic board on the inside and a few buttons on the outside. When you press the play button, you don’t care how all those microchips talk to each other.


Object-oriented programming helps you:

  • Manage and reduce complexity
  • Eliminate redundant code
  • Build re-usable building blocks
  • Write cleaner code


An essential skills for every developer

OOP comes up in many technical interviews. So if you really want to be a serious developer, you need to understand object-oriented programming. As a technical interviewer myself, if I see a candidate with OOP on their resume, that candidate stands out to me. 

It may interest you to know that many of the popular frameworks out there that you might be using are actually designed with OOP concepts in mind. Angular is an example of such frameworks! 


A Step-by-Step, A to Z course

What you'll get when you sign up for this course:

  • Learn all about object-oriented programming in JavaScript
  • No more wasting time on disjointed tutorials
  • Learn at your own pace - lifetime access - so take your time if you prefer
  • Watch on any device, online or offline
  • Solidify your understanding of JavaScript
  • Prepare for technical interviews
  • Confidently build applications with Node, Angular, React, Vue and other JavaScript libraries
  • Learn the best practices and common pitfalls to avoid
  • Certificate of completion to present to your employer


You'll learn

  • The core principles of OOP: encapsulation, abstraction, inheritance and polymorphism
  • How to implement OOP concepts in JavaScript
  • All about objects, their properties, property descriptors, getters and setters
  • Difference between factory and constructor functions
  • How "this" works in JavaScript
  • Prototypes and prototypical inheritance: one of the confusing parts of JavaScript
  • ES6+ features used in object-oriented programming


This course is for you if:

You’re a developer who already knows OOP principles but want to learn how to implement them in JavaScript.


You’re a developers who is not familiar with OOP, perhaps you just know the basics of JavaScript and want to solidify your understanding of JS and prepare for technical interviews.

Having OOP and JS on your resume helps you find more jobs and make more money.

Are you ready to take your JavaScript skills to the next level? Enroll in the course and get started. 

Who this course is for:
  • Any JavaScript developers who wants to solidify their understanding of JavaScript
  • Anyone preparing for technical interviews
  • Developers familiar with OOP who want to learn how to implement it in JavaScript