A day-by-day structured deep dive into object-oriented JavaScript. Read articles, watch videos, complete lessons and exercises, and implement a final project.
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
- Watch these videos on Type and Scope
- Signup for Udacity Object Oriented Javascript
- Complete the Scopes lesson
- Complete the Closures lesson
- Watch Video introduction to Object Oriented Javascript (1 Hour)
- Read Javascript Objects in Detail
- Read pages 173 to 184 in Professional JS for Web Developers
- Signup for a free Team Treehouse trial and complete their [Object Oriented Javascript Course] (https://teamtreehouse.com/library/objectoriented-javascript)
- Skim this cheat sheet
- Watch these videos:
- Read Undrestanding Javascrpt's This with Clarity and Mastery
- Read What is this in Javascript
- Complete the Keyword "this" lesson
- Do exercises for Chapter 4 of Object Oriented Javascript (and maybe read it)
- Study these top 50 OOPs interview questions
- Watch these videos on Prototypes:
- Read Prototype in Plain English
- Read OOP in Javascript
- Complete the Prototype Chains Lesson on Udacity
- Complete the Prototypal Classes Lesson on Udacity
- 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)
- Complete the Object Decorator Pattern Lesson on Udacity
- Complete the Functional Classes Lesson on Udacity
- Complete the Pseudoclassical Patterns Lesson on Udacity
- Complete the Superclass and Subclass Patterns Lesson on Udacity
- Complete the Pseudoclassical Sublasses Lesson on Udacity
- Start (and maybe finish) the Final Project Lesson on Udacity
- Complete the Final Project Lesson on Udacity
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 ===?
- Complete the learn-js OO tutorial
- Complete the learn-js function context tutorial
- Complete the learn-js inheritance tutorial
- Read Object Oriented Javascript for Beginners
- Read Chapter 8 of Eloquent Javascript
- Read The Basics of Object Oriented Javascript
- Study this OOP interview questions
- Go over these object oriented javascript interview questions
- Complete these 3 practice exercises
- Complete section 2 of these exercises