Create scalable and reusable high-quality JavaScript applications and libraries using the concepts of object-oriented programming. This book is for the beginning to intermediate web developer who wants to solve web development problems with smart JavaScript. It does not assume any prior knowledge of JavaScript programming; however even if you already know some JavaScript, there will be plenty for you to learn here.
I bought this book on the promise of its subtitle—specifically, that it would provide useful information regarding building a robust, custom JavaScript library for an enterprise. I was hoping that it would provide an ongoing example library that would be built up over the course of the book. No such luck. But, that doesn't mean it isn't a good book—just that the subtitle may be a little misleading. Stefanov does a good job of describing important JavaScript concepts such as prototype chaining, as well as useful coding and design patterns. A good solid book.
Pretty thorough overview of JavaScript and its object-oriented features. Covers some well-known design patterns, including ones from the "Gang of Four". I'd recommend it to anyone who's serious about the language.
I wish it didn't draw so much attention to trivial stuff, related to the language itself. Given the title, I was surprised to see that half of the book deals with "JavaScript 101". Nevertheless, the intermediate JS developers can easily skip the first chapters.
I got this book for free some time ago. I decided to read it this week, since I needed to brush up on my JavaScript skills. It's a bit out of date at this point, but it does a good job of covering the JavaScript basics with some good information on best practices for object-oriented development in JavaScript.
I would say that it's not a bad book to read, if you need to learn some JavaScript fundamentals, or if you need a good reference for JavaScript and DOM basics. I wouldn't recommend paying full price for this book, but it you can get it when Packt has one of their $5 sales, it would be worth picking up.
The book is great for beginning to intermediate programmers who want to start working in JavaScript. I found it made for pleasant, light reading without lacking in substance. It's full of general information and good tips explained easily enough that you can read it through and remember most of what you've read, but organized so that you can easily find details if you need to look them up later.
It starts by explaining some of the basic concepts of working with JavaScript, what kinds of concepts the language follows, and how to work with data. JavaScript is full of pitfalls and corner cases that seem quite unpleasant to me, since I prefer more rigid languages that don't give you quite the degree of freedom that JavaScript does. If JavaScript is your first language, you might feel differently about a lot of the language's idiosyncracies. In either case, I felt that, after reading the book, I've been exposed to all of the major pitfalls that would have hit me otherwise. Even if I don't necessarily like them, I'll know how to deal with them in my own design or if I see them in other people's code.
The beginning sections are also full of useful (sometimes idiosyncratic) shortcuts to getting things done in JavaScript. In the process, the author has some very nice explanations for things that can often be difficult to understand when people see them for the first time. I was particularly impressed by his descriptions of closures and callbacks. Although I've learned to work with both of these concepts over the years and have the feeling that I understand them thoroughly, I don't think I've ever seen either concept as well explained anywhere else. This is particularly important because JavaScript is a language where you can come across both quite frequently - especially callbacks implemented in the observer pattern.
As the title says, the book is about object oriented JavaScript. If you're used to working with classical object oriented languages, you'll probably expect a lot of those standard concepts in JavaScript. That is not the case here - each object is a singleton, and inheritance is only one way of working with objects that you can implement. The book does a good job of showing all the possibilities available. I'm used to reading Java, C++, Python, etc., so I thought it was interesting to read how to implement classes in JavaScript and see some other patterns that you can come across in the language. At the end, though, I was surprised to see the author refer to a builtin function that does all the work of inheritance for you. Although I understand that he probably wanted to make sure that people got a taste of the JavaScript style before seeing a way of forcing the language to behave as they'd expect from other languages (something that you shouldn't do without understanding a bit more about how JavaScript deals with its objects if you want to avoid some hard-to-find bugs), I would have liked to see that more in the beginning. I still would have been interested in the theory behind it and also in alternative ways of implementing similar behavior. From a didactic standpoint, it would have allowed advanced users to see something they understand and can work with right away, without detracting from their ability to learn the other design possibilities. Beginners wouldn't have noticed the difference.
After the main course, the desert was a few very applied chapters on web development. Not only did they demonstrate how to easily implement cool behavior in webpages, but also how to build your code so that it works robustly across browsers. I really enjoyed this section, but I would have enjoyed it more if it would have referred the user to some libraries that implement many common functions in webpages, such as jQuery.
The appendix at the end is also quite useful, although it would have been helpful to have a section on browser capabilities or web development in general.
Javascript is a weird language. Good practices make a weird language easier to understand and read. That's why I was interested in writing OO JS code.
Thing is, this book is not just about OO. There is a bunch of "hey, if you never heard about JS, here is how it works", which I believe is kinda pointless (there are plenty "Starting with JS" books these days), there is a bunch of browser objects (which, although "objects", I don't believe they are necessary to write OO JS code) and there is plenty about reserved words and what they mean (which although nice, is also unnecessary).
There is also a bunch of mentions of things some "Douglas Crockford" which made me wonder why I was reading this book instead of looking for stuff Crockford wrote.
But the book explores all possibilities of writing OO code in a non-OO language, have some design patterns in JS and some JS patterns which are interesting.
excellent for organized presentation of syntax; oo concepts; coverage of closures and patterns. Complaints: the pattern info was very brief and felt very rushed; more examples would have helped. Throughout, the examples were very brief but very pertinent to the point being explained. However if you don't immediately catch how something is working then you will have to search elsewhere.
This book combined with something like the javascript bible + lots of practice could make a very good js programmer.
Lo leí por recomendación de Jeffrey Way, menciona que es su libro favorito sobre el tema, y aunque no sé si sea el mío, al menos expande tus horizontes de una manera increíble, Javascript, como sabemos, dejó de ser un lenguaje para convertirse en EL lenguaje de un tiempo para acá. Cualquier desarrollador con ánimos de triunfar en el medio debe dominarlo y este libro es una gran ayuda. Va desde lo básico hasta cosas muy específicas que solo podría ser adquirido fuera de este libro por medio de la experiencia, vale muchísimo la pena y lo recomiendo ampliamente.
Well written, well organized, and good examples. The 1st edition is getting a little dated (2008), so it was nice to see the 2nd come out.
Contrary to what one of the other reviewers said, it's main focus IS the object oriented aspects of javascript. In the 2nd ed, only the first 62 pages are the basics and the rest of the 300 (excluding appendix) deal with higher order functions (functions and function closures count as OO material) and objects.
It is an intermediate book, and you shouldn't be learning to code or learning Javascript from this manual.
This book reminds me The Principles of Object-Oriented JavaScript. Both of them explain the most crucial points like function, object and prototype quite deeply. Although the one written by Nicholas is more famous, I think this book gives more details. But the cons of this book is that... there are too many code snippets without indents. It makes some parts of this book really difficult to read. BTW: This book doesn't cover features introduced in ES6.
A little dated in a few places. Also, a couple places advocates not best practices, although that's mostly due to it targeting ES3. When it got to the actual object-oriented stuff, it was a bit much. Instead of "here's how you make objects in JavaScript. This is a constructor. This is inheritance.", it was more like, "here are five million different ways to do objects" without ever explaining best practices. Finally, when it introduced JSON, it didn't get the format completely right. However, all in all, it was a pretty good introduction to JavaScript.
Molto approfondito e completo, soprattutto per quanto riguarda l'argomento proncipale: la OOP. Forse un po' confuso il capitolo su DOM e BOM, ma viene comunque trattato in tutti gli altri manauali di Javascript. Volendo se ne sarebbe anche potuto fare a meno, se non fosse servito come ampia spiegazione del pattern observer. Le appendici sono tanto utili che forse meriterebbero di essere un manualetto a parte.
This is nice entry-level book, that includes not only description of what object-oriented JavaScript is, but also has a very good introduction of JavaScript language fearures itself . I found the book rather usefull, and reccomend it for every beginners in JavaScript world, because the author use many usefull examples about how many important language features work. It's very easy to read and understand.
It's definitely one of the best dive into JavaScript books I've ever read. If you've just begun using JS there is no other book I would recommend.
It is a beginner/intermediate level book so if you are looking for something much more advanced it's not the perfect choice although there are some things that you might learn from reading it..
This was my first OOP Javascript related book. I had to do with OOP javascript before and it was a bit difficult for me to understand the way it is achieved in this language.
This book cleared my questions and helped me dive into that great language.
Absolutely the JavaScript book I recommend everyone read. Shows damned near every way of doing things like inheritance, lazy functions, encapsulation and more, but manages to be very enjoyable and accessible.
Great introduction to object-oriented Javascript. If you're familiar with Javascript, you'll fly through the first bit, but it's a good build up to the basic concepts behind Javascript plugins and frameworks.
The only star that I don't give to this book is because of last chapter "Design Patterns". It is not complete and attractive enough but the rest of the book and specially OO parts are the best I've ever seen.
Excellent book for those that are trying to learn or even trying to refresh their JavaScript skills. It goes into the right amount of detail with great examples, and is not too long of a read.