JavaScript Object Programming

  • 1h 46m
  • Martin Rinehart
  • Apress
  • 2015

This brief book explains the advantages of the object model, inheritance, both classical and prototypical, and shows how these concepts can be implemented in JavaScript. It also shows how object programming (OP) opens a new world of design possibilities that go far beyond inheritance.

This book will help the intermediate JavaScript programmer learn to use both types of inheritance. For classical inheritance, it is accompanied by a substantial online system (a windowing UI library) that shows classical inheritance at its best. The same system shows how OP "capabilities" can eliminate much of the need for inheritance.

For experienced JavaScript programmers, this book shows why most of the old views of JavaScript's inheritance have not done it justice. JavaScript classes inherit from JavaScript's prototypes, a fact that makes JavaScript's prototypes, when used correctly, functional equivalents to C++ classes (not to prototypes in true prototypical languages, like Self).

JavaScript's object programming (not inheritance) is what separates it from classical OOP languages like C++ and Java. Most important, basing inheritance on JavaScript's prototypal chain is possible, but is not the best choice for prototypal inheritance or classical inheritance.

What You'll Learn

  • What are objects, JavaScript objects and object programming
  • What is and how to use inheritance and JavaScript inheritance as well as inheritance alternatives
  • How to design for JavaScript
  • What are and how to use OO principles in JavaScript
  • How to use Constructors with JavaScript and more


This book is for both intermediate and advanced JavaScript and Web development programmers. However, any programmer will understand the concepts and any JavaScript programmer should understand all of the concepts in this book. The code there is shows examples of the concepts discussed.

About the Author

Martin Rinehart, a self-confessed JavaScript lover, set aside work on his five-volume frontend-engineering textbook project for long enough to write this small book on JavaScript inheritance. He wanted to eliminate some of the massive confusion surrounding this important subject. Martin is the author of over a dozen books on programming, and of the JSWindows system that brings a windowing UI to browser-based applications.

In this Book

  • Creating Objects
  • Object Programming
  • Inheritance Theory
  • Inheritance Practice
  • On OOP Principles
  • More Ex Nihilo Objects
  • Inheritance Alternatives
  • Designing for JavaScript
  • On Constructors
  • Appendices