I really like the idea of pointing out the “good parts” of a language, encouraging good coding practice by using the bits that make sense. This book takes just such an approach, and is unabashed about highlighting the parts of the language that the author thinks are bad, such as the poor scoping rules for variables. More importantly, the book has proposes best practices for working around the limitations, as well as utilizing features in an effective way. For example, utilizing a single global object instead of a pile of individual global variables reduces potential naming conflicts with other modules.
For developers who already know one or a dozen other languages already, this is a refreshing approach to getting up to speed in a language that has a number of features that are not in common with other languages.