YoVDO

JavaScript Object-Oriented Masterclass

Offered By: Udemy

Tags

Javascript Courses

Course Description

Overview

Write robust, highly maintainable and elegant JavaScript applications by deeply understanding Object-Oriented JavaScript

What you'll learn:
  • Objects and functions
  • Scopes and closures
  • The "this" keyword and call, bind and apply functions
  • The module pattern
  • Prototype-based object-oriented programming
  • Prototypes vs classes
  • A deep-dive into the constructor pattern
  • Classes
  • Concatenative inheritance and prototype-based OOP
  • Multiple Inheritance using concatenative inheritance
  • Private variables and functions
  • Introduction to TypeScript
  • Explore a real-world object-oriented JavaScript application

"- the use of classes ... is the source of a number of complications. This paper discusses prototypes as an alternative to classes ... In a prototype-based language, copying rather than instantiation is the mechanism provided to the user for making new objects."

This is a line from a 1986 research paper discussing prototypes as an alternative to classes. Did you know that JavaScript is a prototype-based language and does not need classes? Did you know that JavaScript's Object-Oriented system is actually simpler than classes?

Unfortunately, due to the language being marketed as "Java's little brother", something called the "constructor pattern" was designed as a way to for the language to "look like" class-based Java. The decision to conceal JavaScript's true identity as a prototype-based language in favor of something that looked like half-baked classes has led to widespread confusion among developers that lives to this day.

In this course, we will explore JavaScript's true identity as a prototype-based language and look at different ways of doing OOP in JavaScript. We don't ignore classes or constructors - we will study them deeply and learn how they are abstractions over a prototype-based system and learn how to effectively utilize them.

In this lesson, we will learn how to write effective, maintainable and robust object-oriented code using JavaScript.


Taught by

Mehdi Maujood

Related Courses

Programming Languages
University of Virginia via Udacity
Building a Basic Website
University of Massachusetts Amherst via Independent
iDESWEB, Introducción al desarrollo web
Miríadax
Web Engineering II: Developing Mobile HTML5 Apps
Technische Hochschule Mittelhessen via iversity
Web Application Architectures
University of New Mexico via Coursera