In JavaScript the Hard Parts OOP we will balance developing “under-the-hood” mental models of how the challenging concept works with diving into coding challenges — giving you the capacity to navigate through any new problems effortlessly.

During this workshop, we will develop an intuitive understanding of all aspects of object-oriented programming in JavaScript — classing and subclassing in ES6, factory functions, “this” and “new”, the prototype chain and call/apply/bind.

To do so, we’ll work up from first-principles to get a complete understand of JavaScript’s prototypal design that allows us to implement many of the features of traditional OOP languages in a highly flexible manner.

Understanding these areas is crucial for being a competent JavaScript developer and understanding frameworks like React. Together we’ll develop the tools that will enable us to write more modern, maintainable and scalable JavaScript.