If you're a programmer who wants to get started with JavaScript, this book is ideal. Each chapter begins by teaching a subset of the language, providing best practices and patterns for working around the pitfalls, and then moves into in-depth information.
This structure helps relatively new programmers understand the basics, and gives more experienced developers a look at the nuances, including the pros and cons of best practices. Most JavaScript phenomena are explained twice: once in natural language, and a second time with a code example. Once you've learned enough to put the language into practice, you can use Speaking JavaScript as a reference to help keep you on track.