Object Oriented JavaScript

Summary

This course will get into Object Oriented JavaScript programming and introduce a couple of Object Creation patterns. Along the way, we’ll take a deeper look at scope, closures, and functions and its execution contexts.

Phase

Front-end Development

Detailed Syllabus

Objects

  • Object and Methods
  • Walkthrough: Object Methods
  • Practice Problems: Objects
  • Mutating Objects
  • Practice Problems: Mutating Objects
  • Functions as Object Factories
  • Practice Problems: Functions as Object Factories
  • Object Orientation
  • Practice Problems: Object Orientation

Function Contexts and Objects

  • The Global Object
  • Practice Problems: The Global Object
  • Implicit and Explicit Function Execution Contexts
  • Practice Problems: Implicit and Explicit Function Execution Contexts
  • Hard Binding Function Execution Contexts
  • Example: Changing Function Context
  • Practice Problems: Hard Binding Functions with Contexts
  • Dealing with Context Loss (1)
  • Dealing with Context Loss (2)
  • Dealing with Context Loss (3)
  • Practice Problems: Dealing with Context Loss
  • Summary: The “this” Keyword in JavaScript
  • Practice Problems: What is this (1)
  • Practice Problems: What is this (2)

Closures and Function Scope

  • Closures and Function Review
  • Higher-Order Functions
  • Practice Problems: Higher-Order Functions
  • Closures and Private Data
  • Practice Problems: Closures
  • Objects and Closures
  • Project: Banking with Objects and Closures
  • Garbage Collection
  • How Closures Affect Garbage Collection
  • Practice Problems: Garbage Collection
  • Partial Function Application
  • Practice Problems: Partial Function Application
  • Immediately Invoked Function Expressions
  • Creating a Private Scope with an IIFE
  • Practice Problems: IIFEs

Object Creation Patterns

  • Factory Functions
  • Practice Problems: Create Objects with Factory Functions
  • Constructor Functions
  • Objects and Prototypes
  • Prototypal Inheritance and Behavior Delegation
  • Practice Problems: Prototypes and Prototypal Inheritance
  • Constructors and Prototypes
  • Practice Problems: Constructor Functions and Prototypes (1)
  • Practice Problems: Constructor Functions and Prototypes (2)
  • The Pseudo-classical Pattern and the OLOO Pattern
  • Assignment: Object Constructor Inheritance
  • More Methods on the Object Constructor
  • Douglas Crockford Lecture: JavaScript the Good Parts