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.

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.

Nicholas C. Zakas

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).

Being self taught, there are some things you learn how to deal with, but might not have a solid understanding of how they work as a system. Object orientation in JS was such a thing for me, but this book really made the penny drop for me. It effectively demystifies everything concerning OO in JS, and without a doubt helped me become a better developer.

In my experience, many developers who write JS professionally still don't have a grasp on a lot of the concepts mentioned in this book, so it isn't all that basic in that regard either. I wholeheartedly recommend it to beginners and already established devs!

I get the feeling the author's narrative and point of view is based on hard-earned experience. Like he knows where he wishes someone had provided him with more guidance, as he was learning not only how to use Javascript, but also when he began developing in Javascript.

I haven't done any Javascript development, but I have used jQuery effectively ... once.

I can see this book being an extremely useful resource for its target audience (those coming to Javascript from other object-oriented languages, or novice Javascript developers), with understandable code samples and a well-written explanatory style.

For the intermediate Javascript developer it could still be a decent reference for some of the pitfalls and details of OO programming in Javascript, and could also provide some alternative design patterns that may be a little less common, but definitely have their uses.

For me it was a fairly easy read with most of the concepts being quite familiar, but there were a few little ES5-specific gems and a couple of helpful design patterns that I will be using from now on.

While there are many many posts on Javascript and Object-Oriented Javascript all over the internet, I have never found a book that felt as concise and as through as this book is. I think many developers even experienced Java developers looking to get a better understanding of Javascript can really use this book to take their Javascript to the next level.

I would probably say that this book really serves as somewhat of a foundation for what will come in the future as it relates to Javascript.

Every chapter I felt like I was learning something I had not realized when working with Javascript before. Understanding primative types and reference types in Javascript is critical to understand how objects behave in Javascript and in other programming languages. The author starts the book out by explaining the difference between the two before getting into the details of functions and objects. You will learn about proper methods of detecting properties, instantiating built in types, call and apply.

I really enjoyed the fact that our author goes throught the trouble of explaining to us exactly what is going on behind the scenes. This gives developers more control over the code and how they are writing their code. He goes and explains this and the bind method.

Nicholas explains ECMA Script 5's built in Object functions by sprinkling in examples rather than going all dictionary style on us as many developer books typically like to do. People read books so they actually understand what they are doing better than they would if they were reading straight up documentation dictionary style. Explanation through example also gives us a tiny preview of how we might solve problems right now.

Chapter 5…. OH GAWD!… Chapter 5 and well really the whole book should be required reading for developers. I was hesitating on wether or not to give this book a 5 out of 5 stars. I went ahead and decided to give this book the full 5 because I don't have a recommendation as to how I might improve this book.

For all the praise Douglas Crockford's book 'Javascript: The Good Parts' gets, this book should be getting at least as much praise.

I use javascript professionally once in a blue moon to create mostly simple GUIs for backend systems. I wanted to become more comfortable with the concept of the prototype and oop in js in general. This book made it happen.