{
  "name": "Object Oriented Programming",
  "dashedName": "object-oriented-programming",
  "order": 7,
  "time": "5 hours",
  "template": "",
  "required": [],
  "superBlock": "javascript-algorithms-and-data-structures",
  "superOrder": 2,
  "challengeOrder": [
    [
      "587d7dac367417b2b2512b73",
      "Create a Basic JavaScript Object"
    ],
    [
      "587d7dac367417b2b2512b74",
      "Use Dot Notation to Access the Properties of an Object"
    ],
    [
      "587d7dad367417b2b2512b75",
      "Create a Method on an Object"
    ],
    [
      "587d7dad367417b2b2512b76",
      "Make Code More Reusable with the this Keyword"
    ],
    [
      "587d7dad367417b2b2512b77",
      "Define a Constructor Function"
    ],
    [
      "587d7dad367417b2b2512b78",
      "Use a Constructor to Create Objects"
    ],
    [
      "587d7dae367417b2b2512b79",
      "Extend Constructors to Receive Arguments"
    ],
    [
      "587d7dae367417b2b2512b7a",
      "Verify an Object's Constructor with instanceof"
    ],
    [
      "587d7dae367417b2b2512b7b",
      "Understand Own Properties"
    ],
    [
      "587d7dae367417b2b2512b7c",
      "Use Prototype Properties to Reduce Duplicate Code"
    ],
    [
      "587d7daf367417b2b2512b7d",
      "Iterate Over All Properties"
    ],
    [
      "587d7daf367417b2b2512b7e",
      "Understand the Constructor Property"
    ],
    [
      "587d7daf367417b2b2512b7f",
      "Change the Prototype to a New Object"
    ],
    [
      "587d7daf367417b2b2512b80",
      "Remember to Set the Constructor Property when Changing the Prototype"
    ],
    [
      "587d7db0367417b2b2512b81",
      "Understand Where an Object’s Prototype Comes From"
    ],
    [
      "587d7db0367417b2b2512b82",
      "Understand the Prototype Chain"
    ],
    [
      "587d7db0367417b2b2512b83",
      "Use Inheritance So You Don't Repeat Yourself"
    ],
    [
      "587d7db0367417b2b2512b84",
      "Inherit Behaviors from a Supertype"
    ],
    [
      "587d7db1367417b2b2512b85",
      "Set the Child's Prototype to an Instance of the Parent"
    ],
    [
      "587d7db1367417b2b2512b86",
      "Reset an Inherited Constructor Property"
    ],
    [
      "587d7db1367417b2b2512b87",
      "Add Methods After Inheritance"
    ],
    [
      "587d7db1367417b2b2512b88",
      "Override Inherited Methods"
    ],
    [
      "587d7db2367417b2b2512b89",
      "Use a Mixin to Add Common Behavior Between Unrelated Objects"
    ],
    [
      "587d7db2367417b2b2512b8a",
      "Use Closure to Protect Properties Within an Object from Being Modified Externally"
    ],
    [
      "587d7db2367417b2b2512b8b",
      "Understand the Immediately Invoked Function Expression (IIFE)"
    ],
    [
      "587d7db2367417b2b2512b8c",
      "Use an IIFE to Create a Module"
    ]
  ],
  "helpRoom": "Help",
  "fileName": "02-javascript-algorithms-and-data-structures/object-oriented-programming.json"
}