Full description not available
W**M
I really liked this book
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.
K**M
Concise, highly readable and ultimately essential.
First of all I'm from a heavy C++/Java background so I'm well versed in strongly typed languages, classes, inheritance and all that jazz. However, in my initial foray into JavaScript I found it so odd that I brought a few books to try and clear up some nagging questions as to why it behaved the way it did. 'HTML5, Javascript and JQuery' gets to the point quickly but it lacks detail on what's going on behind the scenes when it comes to JavaScript probably because it's not the book's only focus. 'A Smarter way to Learn JavaScript' has a lot of beginner fluff that isn't anything you wouldn't know already. In addition the exercises are tedious. This book hits the sweet spot for me. Even though it's a short book, no sentence is wasted. I managed to polish it off in just 2 days. Every chapter and every section is highly readable and more importantly useful in teaching the language from an already experienced C++ programmer's perspective. Love the sample code too which never gets too complex or too long to comprehend easily. This is definitely a book I will refer to again and again even though it only covers ECMAScript 5. I believe the author has another book dedicated to ECMAScript 6. Bravo to Zakas for writing something so concise and readable!
J**S
Concise and precise; left wanting a little bit more.
First, my background and where I'm at as a developer:I consider myself to be somewhere in between a novice and intermediate JavaScript developer. I have lots of jQuery experience as well as some MV* experience using Backbone.js. I've been exposed to more advanced concepts like closures and IIFEs, etc. - and I've even used them - but always felt a little foggy about exactly what was happening behind the curtain. I want to create games in JavaScript, and so I was looking to this book for some insight in regard to the underpinnings of Object-Oriented Design (OOD) with JavaScript. I was hoping to walk away from this book armed with the ability to begin work on my own JavaScript game engine using Object-Oriented Design (OOD) patterns.Summary:The book was very analytical and straightforward in its methodology of explanation. The content builds on itself very logically from chapter to chapter along with clear explanations and wonderfully annotated code examples. As other reviewers have mentioned, it's very dense material, but clearly written and not hard to understand if you take your time and reread/re-examine the code samples when concepts get hairy.Much of the content is framed in a way of emulating Classical behavior from other languages in JavaScript (which uses prototypal inheritance rather than classes). This was somewhat less helpful to me, because JavaScript is the only language I know currently. Still - the concepts of class-based languages (Encapsulation, Inheritance, Polymorphism, etc.) are somewhat familiar to me, and the book helps bridge the gap between traditional methods of OOD and JavaScript. For anyone coming in with a traditional class based understanding - I suspect this book would be perfect for filling the gaps.The final chapter is particularly good (though only 14 pages), as it FINALLY emerges from the "nuts and bolts" of OOD in JS and gives you some examples and use-cases for actually utilizing what you've been learning in all of the previous chapters. The Module Pattern of object creation and the explanation and rationale behind using closures finally makes sense to me, after being somewhat opaque in the past. I wish there was more to the final chapter. Which brings me to...My only complaint:Ultimately, the brevity and narrow focus of the book works to the content's favor, but I was hoping for some more practical examples and actual use cases. To me, it felt like the last chapter was the only one in which I walked away with a very clear understanding of how I could use some of these nuts and bolts in an advantageous way. The whole book felt like a thorough examination/explanation of a carpenter's toolbox and all the different tools, but mentioned little in the way of how to construct a house. I suppose teaching design patterns isn't really the objective of the book, though. I'll have to look elsewhere for that.So there you have it. This book truly is the PRINCIPLES of OOD in JavaScript, not the patterns. It was still a great read, and I know I will definitely reference it in the future.
C**L
Perfect for a programmer with some experience in Java/C#/C++
As a programmer with experience in how Java and C++ handle object-oriented concepts, this book was amazing and insightful. I cannot recommend this book enough for anybody trying to grasp some of the nuance of JS OOP quickly! Everything is explained perfectly and in less than 100 pages! I used to think JS was a horrible language with design decisions that made no sense to me. After reading this book, however, I have began to like all the little quirks this language has. It's really fun once you dig into it!
A**L
New Horizons Discovered
This book is amazing. It starts from thevery basics and goes till the advance part but in a very detailedmanner.
W**O
Informative
Very well written and to the point, this book is oblivious to ES6 class syntax by virtue of its release date. This is a good thing, as it reveals JavaScript object mechanics under the hood, diving deep into ‘prototypical inheritance’, it should answer any questions you may have about the inner workings of JavaScript objects and how they delegate to one another.Interestingly, what this book also reveals are the ‘coping strategies’ of the JavaScript community in its attempt to mimic class-based languages through constructs such as ‘mixins’ and parent-child class relationships. These ideas are not baked into the language, and the solutions that are used in practise (and documented in the final chapter) are approximations more than anything, with conceptual gotchas hiding beneath the surface.This is not to say that JS object patterns are without merit (the Revealing Module pattern for example is a personal favourite), just that they appear to act as ‘workarounds’ making up for perceived lack of native features in the language. This attitude has manifested concretely in ES6 classes, which provide a consistent syntax for what the community had already been doing on their own.What I was really hoping for, though it’s not the fault of this book, was some insight into how to leverage JavaScript’s fairly unique prototypical and object characteristics in software design, rather than how to bend them to the will of object oriented constructs from elsewhere. Unfortunately, the book represents the general community attitude in this way.Nonetheless, the book was extremely informative and invaluable in its distillation of how JS objects (and functions) work, it’s up to the reader how they wish to use that information.
T**S
Basics of O-O, but a little outdated
Unfortunately the author of this work has been ill for some time, which is probably why it remains somewhat out of date. However, it offers the most cohesive explanation for how prototypical inheritance really works in Javascript, and how best to make use of it. There's a lot of in-depth information as well, and most moderately experienced Javascript programmers will find new details they were previously unaware of.
W**R
Excellent at making it really clear how objects work in ...
Excellent at making it really clear how objects work in javascript. A must read IMO if you are working with AngularJS or similar frameworks, things will make a lot more sense once you read this. Very concise and direct to the point, short read.
P**S
Makes everything clear
Easy to understand, small enough to reference to whenever you need it. This is definitely the best Javascript book I've bought so far.
Trustpilot
2 months ago
1 month ago