Principles of Object-Oriented Programming in JavaScript
Minimum price
Suggested price

Principles of Object-Oriented Programming in JavaScript

About the Book

If you’re coming from a more traditional object-oriented language such as C++ or Java, JavaScript might seem like it’s not object-oriented at all. After all, JavaScript has no concept of classes, and you don’t even need to define any objects in order to write code. JavaScript can look just as much like C as it can an object-oriented language depending on how you decide to write it. But don’t be fooled, JavaScript is an incredibly powerful and expressive object-oriented language that puts many design decisions in the hands of you, the developer.

This book is an exploration of the object-oriented nature of JavaScript. It is not specific to a particular JavaScript environment, so it’s equally useful for web developers and Node.js developers. The book includes information about ECMAScript 5 and its new capabilities that have changed how you can work with objects in JavaScript.

What you'll learn:

  • The differences between primitive and reference values
  • What makes JavaScript functions so unique
  • The various ways of creating an object
  • The difference between data properties and accessor properties using ECMAScript 5
  • How to define your own constructors
  • How to work with and understand prototypes
  • Various inheritance patterns for types and objects
  • How to create private and privileged object members
  • How to prevent modification of objects using ECMAScript 5 functionality

Want a print version of the book? Purchase Principles of Object-Oriented JavaScript from No Starch Press.

  • Share this book

About the Author

Nicholas C. Zakas
Nicholas C. Zakas

Nicholas C. Zakas is a web applications software engineer with over 16 years of experience. He has worked on everything from small websites to massive-scale web applications. He has worked at Box as a principal architect and Yahoo as a presentation architect. He is the author of Maintainable JavaScript (O’Reilly, 2012), Professional JavaScript for Web Developers (Wrox, 2012), High Performance JavaScript(O’Reilly, 2010), and Professional Ajax (Wrox, 2007). Nicholas is a strong advocate for development best practices including progressive enhancement, accessibility, performance, scalability, and maintainability. He blogs regularly at and can be found on Twitter via @slicknet.

Bundles that include this book

Suggested Price
Bundle Price

Table of Contents

  • Introduction
    • Who This Book Is for
    • Overview
    • Acknowledgments
    • Help and Support
  • Chapter 1: Primitive and Reference Types
    • What are types?
    • Primitive Types
    • Reference Types
    • Instantiating Built-in Types
    • Identifying Arrays
    • Summary
  • Chapter 2: Functions
    • Declarations vs. Expressions
    • Functions as Values
    • Parameters
    • Overloading
    • Object Methods
    • Summary
  • Chapter 3: Understanding Objects
    • Defining Properties
    • Detecting Properties
    • Removing Properties
    • Enumeration
    • Types of Properties
    • Property attributes
    • Preventing Object Modification
    • Summary
  • Chapter 4: Contructors and Prototypes
    • Constructors
    • Prototypes
    • Summary
  • Chapter 5: Inheritance
    • Prototype Chaining and Object.prototype
    • Object Inheritance
    • Constructor Inheritance
    • Constructor Stealing
    • Accessing Supertype Methods
    • Summary
  • Chapter 6: Object Patterns
    • Private and Privileged members
    • Mixins
    • Scope-Safe Constructors
    • Summary

The Leanpub 45-day 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms

Do Well. Do Good.

Authors have earned$10,906,214writing, publishing and selling on Leanpub, earning 80% royalties while saving up to 25 million pounds of CO2 and up to 46,000 trees.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers), EPUB (for phones and tablets) and MOBI (for Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF, EPUB and/or MOBI files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub