TL;DR: Overall the book is good enough and will be perfect for developers with little experience in software development.
However be careful with the following points below:
- UML diagrams are not descriptive as they should be, "memberName" should not be written multiple times as class attributes
- The part where the author said that singleton could not be created in JavaScript in a OOP way is plain wrong
- In the Functional Programming chapter, JavaScript examples could have been written better. Using a for loop instead of map (IE9+) is disappointing (to say the least!)
- The MV* chapter does not follow the Separation of Concerns principle well enough
- View initialization and rendering are done inside the constructor (they should not be)
- Model attributes are too often manipulated inside the controller
- State information is duplicated (e.g. IsValid in ValidationResult)
- A dispose (or release) method is missing for clean life-cycle management
- bind (IE9+) should be used instead of the old _this workaround