Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Mindfulness Personal Transformation Meditation Life Purpose Coaching Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Data Science
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
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
Development Web Development JavaScript

Object-oriented Programming in JavaScript

Learn all about OOP, understand the most confusing parts of JavaScript and prepare for technical interviews
Rating: 4.7 out of 54.7 (2,793 ratings)
14,059 students
Created by Mosh Hamedani
Last updated 4/2018
English
English
30-Day Money-Back Guarantee

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
Curated for the Udemy for Business collection

Course content

6 sections • 64 lectures • 3h 53m total length

  • What is OOP?
    Preview01:45
  • Preview07:02
  • Preview02:16
  • Course Structure
    02:55
  • Asking Questions
    00:33

  • 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

  • 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

  • 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

  • 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

  • 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
  • Preview00:20

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

Instructor

Mosh Hamedani
Passionate Software Engineer and Best-selling Author
Mosh Hamedani
  • 4.5 Instructor Rating
  • 202,079 Reviews
  • 479,636 Students
  • 20 Courses

Hi! My name is Mosh (Moshfegh) Hamedani! I'm a passionate software engineer with two decades of experience and I've taught over 3 million people who to code or how to become professional software engineers through my YouTube channel and online courses.

My goal is to make software engineering fun and accessible to everyone. That's why my courses are simple, pragmatic and free of BS.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.