/timely-bird

core-object-oriented-javascript

Primary LanguageJavaScriptOtherNOASSERTION

Core Object Oriented JavaScript

A day-by-day structured deep dive into object-oriented JavaScript. Read articles, watch videos, complete lessons and exercises, and implement a final project.

Day 1: Scopes & Closures

Your objectives for the day is to:

  • Learn about JavaScript’s variable scoping, including lexical scopes and dynamics scopes.
  • Learn about Closures
  • Learn about the Keyword "this"
  • Learn about Prototypes

Scopes

Closures

Day 2: Objects and "this"

Objects

This

Stretch

Day 3: Prototype and Inheritance

Stretch

  • Read pages 184 to 201 in Professional JS for Web Developers
  • Read Understanding Javascript Prototypes
  • Read sections 7 in JS Ninja
  • Do exercises for Chapter 5 of Object Oriented Javascript (and maybe read it)
  • Do exercises for Chapter 6 of Object Oriented Javascript (and maybe read it)

Day 4: Deeper Dive and Final Project

Day 5: Final Project and check your understanding

Do you know/understand:

  • Everything in this article
  • Everything in this cheat sheet
  • The difference between Classic Inheritance and Prototypical Inheritance
  • The difference between private variable, public variable and static variable? How we achieve this in JS?
  • How to add/remove properties to object in run time?
  • How to achieve inheritance ?
  • How to extend built-in objects?
  • What is Object in JavaScript?
  • What is the Prototype object in JavaScript and how it is used?
  • What is "this"? What is its value?
  • Explain why "self" is needed instead of "this".
  • What is a Closure and why are they so useful to us?
  • Explain how to write class methods vs. instance methods.
  • Can you explain the difference between == and ===?

Stretch Goals