Overview

Did you know that almost everything in JavaScript is really an object under the hood? In this module, you will learn how to harness the principles of Object-Oriented Programming that underlie everything we do in JavaScript. These skills will help you organize your code in order to build consistent and predictable programs.

In this module, we'll learn about:

  • Object-Oriented Programming — a style of programming (a "paradigm") that uses objects to manage state (data) and behavior in an application.

  • Encapsulation - bundling data and methods into a single unit while protecting the data

  • Abstraction - hiding complexity through functions and prototypes

  • Inheritance - sharing behavior between objects

  • Polymorphism - similar objects can be used interchangeably

  • Class — a blueprint for creating objects with shared methods and properties. Classes are particularly useful for creating interfaces.

  • Interface — an abstraction layer of an application that provides methods for interacting with a hidden or controlled portion of the application. For example, user interfaces provide buttons (methods) that enable users to interact with your application's code in a controlled manner.

Last updated