This is, overall, a very informative book about the development of modern web apps, BUT...
a) either the book had no editor, the editor didn't do his job, or doesn't understand the material. My copy is marked up with corrections (either grammatical or technical) every 2-3 pages.
b) the author often over-simplifies to the point where the simplification is no longer true. Perhaps this is due to his background being only script languages (that's my impression, based on his writing), but to someone who's well-versed in lower-level technologies (e.g. C/C++), it's often mentally painful to accept the oversimplifications for what they are (if only because the author never specifies them as over-simplifications (maybe he doesn't know it?)). One example of this is a statement like (paraphrased) "using client-side rendering instead of server-rendering will result in a snappier interface." The "will" there REALLY needs to be replaced with "might", because the actual behaviour depends on 1000 factors too far out of scope for the book to cover.
c) despite his attempts to demonstrate MVC as "the" UI solution for modern JS apps, he succeeds in demonstrating (yet again) that every MVC approach out there ends up being either (MV)C, M(VC), or (MC)V. i.e. there is no 100% separation of behaviours despite what MVC pundits repeatedly tell us (their code always proves my point)! To the author's credit, though, he does go to great lengths to show us how to separate the responsibilities and avoid common pitfalls which leads to combining of responsibilities.
d) he harps about performance repeatedly, but fails to apply the simplest, most generic optimizations of all, e.g. using '===' instead of '==' where applicable (=== is almost always faster for mis-matches and is never slower) and using ++prefix instead of postfix++ where applicable (prefix operators are as fast or faster because postfix MUST make an extra copy of the value whereas prefix might not need to (depending on engine-level implementation details)).
e) Beware of the technologies documented they rely, at least partially, on behaviours which are, according to ECMA, UNDEFINED. e.g. the ordering of properties in Objects is UNDEFINED, and yet Backbone's routing (introduced in this book) relies on a same-as-insertion ordering.
Nonetheless, the book is informative for those like me who have worked with web tech since 20 years and now want to start making the transition from "a little bit of script code" to single-page apps. Just try not to take all what he writes as gospel, because it's sometimes a bit misleading (or relies on behaviour which is unspecified per the ECMA spec).
After having finished this book, i feel compelled to add that i probably won't buy another e-book from O'Reilly (after trusting O'Reilly implicitly since the mid 1990's) because...
a) the final 25% of the book is just the index. One full quarter.
b) amongst the last of the pages is an offer to "upgrade" the book, which includes buying DRM-free formats and access to newer editions. So... i buy an ebook which contains an embarrassing number of both technical and editorial errors (my copy has no less than 30 self-made corrections/clarifications) and then get to buy bugfixes for it for the same price as the book cost me? No, thanks.