The Principles of Object-Oriented JavaScript

The Principles of Object-Oriented JavaScript
By Nicholas C. Zakas

List Price: $24.95
Price: $16.95 Details

Availability: Usually ships in 24 hours
Ships from and sold by Amazon.com

63 new or used available from $12.84

Average customer review:
(121 customer reviews)

Product Description

If you've used a more traditional object-oriented language, such as C++ or Java, JavaScript probably doesn't seem object-oriented at all. It has no concept of classes, and you don't even need to define any objects in order to write code. But don't be fooled—JavaScript is an incredibly powerful and expressive object-oriented language that puts many design decisions right into your hands.

In The Principles of Object-Oriented JavaScript, Nicholas C. Zakas thoroughly explores JavaScript's object-oriented nature, revealing the language's unique implementation of inheritance and other key characteristics. You'll learn:

  • The difference between primitive and reference values
  • What makes JavaScript functions so unique
  • The various ways to create objects
  • How to define your own constructors
  • How to work with and understand prototypes
  • Inheritance patterns for types and objects


The Principles of Object-Oriented JavaScript will leave even experienced developers with a deeper understanding of JavaScript. Unlock the secrets behind how objects work in JavaScript so you can write clearer, more flexible, and more efficient code.


Product Details

  • Amazon Sales Rank: #19496 in Books
  • Published on: 2014-02-23
  • Original language: English
  • Number of items: 1
  • Dimensions: 9.25" h x 7.28" w x .25" l, .57 pounds
  • Binding: Paperback
  • 120 pages

Editorial Reviews

About the Author

Nicholas C. Zakas is a software engineer at Box and is known for writing on and speaking about the latest in JavaScript best practices. He honed his experience during his five years at Yahoo!, where he was principal frontend engineer for the Yahoo! home page. He is the author of several books, including Maintainable JavaScript (O'Reilly Media, 2012) and Professional JavaScript for Web Developers (Wrox, 2012).


Customer Reviews

Most helpful customer reviews

5 of 5 people found the following review helpful.
5I really liked this book
By WDM
I give The Principles of Object-Oriented JavaScript by Nicholas C. Zakas a rating of 5 stars. This book deserves no less with its concise nature and very well explained concepts.

First off, I must mention that this book is not intended for beginners. Object Oriented Programming (OOP) takes a different approach in the JavaScript language. In order to fully grasp the content of this book, it is highly recommended that you have a good understanding of OOP concepts and have developed an OOP vocabulary. My suggestion is to first learn a solid OOP language like Java or C++ first before beginning with this book. Just knowing JavaScript alone may not be enough.

I previously mentioned that this book is concise. Weighing in at 92 pages, it's a featherweight in the realm of programming books. You might think it should take more pages to cover such an advanced topic as OOP in JavaScript. But, as exemplified in this book, that is certainly not the case.

The topics in this book are covered just enough to get a good understanding of them. Furthermore, as you progress through the book, what you learn early on will be used again in a later section. So, what you learn in Chapter 1 will be used throughout the rest of the book. Each chapter builds upon the previous one. As you work through the examples, you will get plenty of practice of the things you previously learned.

The author's writing is very easy to read. It's not easy to find a programming book that is so well written. The author does a very good job of not going beyond the scope of the current topic. Furthermore, he sticks to a consistent vocabulary that should be quite familiar with readers familiar to OOP principles.

I can honestly say that this book has improved my understanding of JavaScript. After reading it, I was able to understand why the syntax of JQuery and AngularJS works, instead of just memorizing how to write the code. Those two libraries have some interesting syntax that might look foreign to someone who doesn't understand how JavaScript deals with objects. Because it has been so useful to me, I plan to keep a copy of this book in my personal library.

I highly recommend this book to anyone who wishes to gain an understanding of OOP in JavaScript. If you have experience with OOP through another language such as Java and C++, then this book can certainly enrich your JavaScript coding practices. This was my personal experience with The Principles of Object-Oriented JavaScript.

3 of 3 people found the following review helpful.
4Nice Overview of Key Parts of the JavaScript Language
By Charlie Calvert
This is a concise and very helpful book that describes many key aspects of the JavaScript language in clear, easy to understand language.

Two points:

1) Crockford's classic "JavaScript the Good Parts" can help you understand why JavaScript is a tricky language, but I find this book more useful when I simply want to understand how the language works and how it should be used. After reading it, some of the more complex parts of Crockford's book were much easier to understand.

2) There are many fancy things you can do with JavaScript and functional programming that are not covered in this book. But if you are coming from an object oriented language like C# or Java, and you are trying to get a handle on JavaScript, you might well find this book invaluable.

The text is clean and easy to understand, and yet it is not simplistic. This is not a book for someone trying to learn how to program, but instead for good programmers who are trying to understand JavaScript. Zakas has written a number of books on JavaScript, each a bit better than the last. By the time he go to writing this one, he knew more or less exactly what he wanted to say, and how to say it.

1 of 1 people found the following review helpful.
4A solid book
By Dmitry Novoselov
In general the book is very good, but, unfortunatelly, it does have some imperfections to it. For example, the constructor definition is quite vague: "A constructor is simply a function that uses "new" to create an object - any object can be a constructor". It is not strict enough and it doesn't really help. For an experienced developer, it restates the obvious in an disturbingly careless manner. For a developer new to JavaScript, it is most likely useless and confusing: a function _uses_ "new"? _What does this mean_? I've always thought it's me, a developer, who _uses_ "new" to make a constructor call of a function.

There is no way to correctly explain what the JavaScript constructor is without elaborating on the notion of _receiver_, how it is bound to _a function call_, and how a "constructor function" is _logically_ different from other functions even though (and that's what the author is apparently talking about) there's _no_ _technical_ difference between them.

Summarizing, the book is really good. For the most part is very thorough and solid. Definitely worth reading. But because of the things like the one above I am sorry to give it only four stars. Also, if you are deciding what books to read on JavaScript, whatever other books you choose, there is _the_ book on the matter: Effective JavaScript by David Herman. My personal belief, there's no other book on the language, that explains all the vital subtleties of it in such a clear and concise way.

See all 121 customer reviews...

Connect with defaultLogic
What We've Done
Led Digital Marketing Efforts of Top 500 e-Retailers.
Worked with Top Brands at Leading Agencies.
Successfully Managed Over $50 million in Digital Ad Spend.
Developed Strategies and Processes that Enabled Brands to Grow During an Economic Downturn.
Taught Advanced Internet Marketing Strategies at the graduate level.


Manage research, learning and skills at defaultLogic. Create an account using LinkedIn or facebook to manage and organize your IT knowledge. defaultLogic works like a shopping cart for information -- helping you to save, discuss and share.


  Contact Us