Skip to content

Object-Oriented JavaScript

Free Course

Build Apps with Maintainable Code

Related Nanodegree Program

Front End Web Developer

About this course

This course is designed to teach web developers how to utilize the various object-oriented programming features within JavaScript. Object-oriented programming allows developers to build applications with reusable and maintainable blocks of code, which leads to efficiency and simplified software design.

With object-oriented JavaScript, you'll be able to build classes to construct objects that encapsulate both data and functionality. You'll also learn how to leverage prototypal inheritance to maintain DRY code, allowing you to pass behaviors down to objects. You'll also learn how to keep data safe and secure by creating private state with closures and immediately-invoked function expressions.

What you will learn

  1. Objects in Depth
    • Create objects and add/remove properties to them
    • Write methods to access and mutate an object's properties
    • Learn how variables are properties on window
  2. Functions at Runtime
    • Leverage functions as first-class functions
    • Identify when a scope is created
    • Utilize closures and IIFE's to build private state
  3. Classes and Objects
    • Write a constructor function to instantiate objects
    • Identify and manually set the value of this
    • Implement prototypal inheritance

Prerequisites and requirements

This course builds on the skills covered in Intro to JavaScript. Prior to taking this course, the student should be able to:

  • Explain and utilize JavaScript's primitive types
  • Write conditions and loops
  • Recognize object syntax and structure
  • Declare functions
  • Navigate and use Chrome DevTools

See the Technology Requirements for using Udacity.

Why take this course?

As a front-end web developer, JavaScript is one of the most important languages in your toolbox. A strong foundation in the language’s features empowers you to build efficient and performant web applications. In this course, you’ll explore a variety of ways to write object-oriented code in JavaScript.

You’ll build classes to create new objects that share similar data and functionality. You'll reduce your development time by leveraging JavaScript's prototypal inheritance model, leading to modular and reusable code. And thanks to abstraction and private state, your data will be safe and secure.

Learn with the best.

  • Richard Kalehoff
    Richard Kalehoff


  • Andrew Wong
    Andrew Wong