Author: John Resig & Bear Bibeault
This book is heavy; not by weight or length (it’s just shy of 400 pages), but by the immense amount of information it provides. This book, more so than any I’ve read, is for the aspiring library developer and actually ends with a quarter of the book devoted to creating a core for a cross-browser, legacy compatible library. But even if you’re not looking to make the next jQuery/Underscore/lodash, this book takes you from intermediate level to master status.
The book is in four sections, each capable of being an independent book: Preparing for Training (best practices and TDD), Apprentice Training (advanced language fundamentals), Ninja Training (working in the DOM, eval, and with), and Master Training (developing a core for a JS library). The book is full of code examples to illustrate key concepts and emphasizes test driven development. In fact the beginning of book starts with developing a personal test suite that’s used throughout the book to test code. This is great in that it is a strong hint towards best practices, but it also helps guide the user to understanding test writing for the DOM.